2016-08-10 6 views
0

항목 블록에서 orderview 내부의 기본 SKU 속성 (제품 번호)을 맞춤 속성으로 변경하고 싶습니다.주문 제품 행 내부의 Magento 변경 속성

참조 :

는 현재 기본적으로 SKU가 표시됩니다

enter image description here

, 나는 DPN (내 사용자 정의 만든 속성)에이를 변경하고 싶습니다.

속성 코드는 다음과 같습니다. dpn.

어떻게하면됩니까? 기본 코드에서

/app/code/core/Mage/Adminhtml/Block/Sales/Items/Column/Default.php

:

나는 파일을 편집

public function getSku() 
{ 
    /*if ($this->getItem()->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE) { 
     return $this->getItem()->getProductOptionByCode('simple_sku'); 
    }*/ 
    return $this->getItem()->getSku(); 
} 

받는 사람 :

public function getSku() 
{ 
    /*if ($this->getItem()->getProductType() == Mage_Catalog_Model_Product_Type::TYPE_CONFIGURABLE) { 
     return $this->getItem()->getProductOptionByCode('simple_sku'); 
    }*/ 
    return $this->getItem()->getDpn(); 
} 

하지만 작동하지 않습니다. 값을 return $this->getItem()->getProductId();으로 변경하면 제품 ID가 표시되므로 작동하지 않습니다.

속성에서 데이터를 가져 오는 방법은 무엇입니까?

답변

0

주문 항목 (sales/order_item)은 제품 (catalog/product)과 다른 개체입니다. 대신 주문 항목은 주문을 만들 때 제품의 스냅 샷과 비슷합니다.

이렇게하면 관련 상품이 삭제되거나 변경된 후에도 주문 항목에 액세스 (고객 주문 내역 페이지 또는 관리 패널에서) 할 수 있으며 변경되지 않습니다.

Magento는 먼저 'snapshotting'제품을 장바구니에 추가하여 견적 항목 (sales/quote_item)을 만듭니다. 결국 견적 항목이 주문 항목으로 변환됩니다.

작업을 완료하려면 새로운 Quote item 속성을 만들고 속성을 Order 항목으로 변환해야합니다 (선택적으로 sales/invoice_itemsales/creditmemo_item으로 변환 할 수도 있음).

견적 항목을 주문 항목으로 변환하려면 Magento <fieldset> 구성 요소에 대해 읽어보십시오.

대안, 덜 최적의 솔루션 : 당신은 제품을 가져 오기 및 주문보기 페이지에서 제품의 속성 값을 사용하여 주문 항목을 사용할 수 있습니다

public function getSku() 
{ 
    return $this->getItem()->getProduct()->getDpn(); 
} 

당신이 속성 값을 변경하면 있다는 사실을 숙지하여 제품, 가치는 모든 주문보기 페이지에서도 변경됩니다.

관련 문제