장바구니에 표시해야하는 사용자 지정 속성이 있습니다. 속성은 다음과 같은 드롭 다운입니다.
Attribute Code : section
Catalog Input Type for Store Owner : Dropdown
Options:
ID/VALUE = 67 LABEL = warehouse
ID/VALUE = 69 LABEL = showroom
ID/VALUE = 70 LABEL = stockroom
이것을 표시하기 위해 다음과 같이 config.xml이있는 사용자 정의 모듈이 있습니다.
<global>
<sales>
<quote>
<item>
<product_attributes>
<section/>
</product_attributes>
</item>
</quote>
</sales>
그리고 카트에서 다음과 같이 전화 할 수 있습니다.
$_item->getProduct()->getSection();
이것은 속성 (예 : 67)의 ID / 값을 반환하지만 LABEL (예 : 창고)을 얻을 수 있기를 원합니다.
다음과 같이 ID에서 레이블을 얻을 수 있다는 것을 알고 있습니다.
$_product = Mage::getModel('catalog/product');
$attr = $_product->getResource()->getAttribute("section");
if ($attr->usesSource()) {
$_label = $attr->getSource()->getOptionText("67");
}
하지만 추가 데이터 배 쿼리를 잘라 내고 제품 모델을 다시로드해야 할 수 있도록 모듈을 통해 레이블을 얻고 싶습니다. 내 장바구니에는 주문 당 20 개 이상의 품목이있을 수 있으므로이 마지막 접근 방식을 사용하면 속도가 약간 느려질 수 있습니다.
$_item->getProduct()->getAttributeText('section')
대신 사용할 수 있습니다. 더 명확하지만 성능은 살펴 보지 않았습니다. 이미 속성을 포함하는 컬렉션에 제품을로드하는 경우 제품 / 속성별로 별도의 데이터베이스 호출이 필요하지 않을 것이라고 생각합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다