2016-02-29 114 views
0

在這裏有幾個線程解釋如何在購物車或結帳中獲取產品屬性。但是,我無法讓它工作。Magento產品屬性沒有在結賬中顯示,在購物車中顯示

購物車我可以看到產品屬性,但不在結帳

從我讀過的,結帳不知道產品,所以我需要加載它。這可以解釋爲什麼我沒有看到它。

我已經嘗試了很多東西,但我要麼沒有讓我的運輸步驟加載到購物車中,要麼它只是不顯示。

任何幫助將是偉大的!這是我在自定義運輸模塊中的代碼。

$cart = Mage::getSingleton('checkout/session'); 

//Order value by category 
$gold = 0; 

foreach ($cart->getQuote()->getAllItems() as $item) { 

    $itemPrice = $item->getPrice(); 
    $qty = $item->getQty(); 
    $metalType = Mage::getModel('catalog/product')->load($item->getProduct()->getId())->getAttributeText('metal'); 

    if ($metalType == "Gold") { 
     //Apply some business logic 
     $gold = $itemPrice * $qty; 
    } 
} 

Magento get cart single item price incl. tax

Magento Product Attribute Get Value

+0

您是否試過' - > getMetal()'? –

+0

- > getMetal()打破網站。 – user123976

回答

1

Mage_Sales_Model_Resource_Quote_Item_Collection對象的afterLoad,一種方法被調用來_assignProducts到每個報價項目。

$productCollection = Mage::getModel('catalog/product')->getCollection() 
    ->setStoreId($this->getStoreId()) 
    ->addIdFilter($this->_productIds) 
    ->addAttributeToSelect(Mage::getSingleton('sales/quote_config')->getProductAttributes()) 
    ->addOptionsToResult() 
    ->addStoreFilter() 
    ->addUrlRewrite() 
    ->addTierPriceData(); 

如果您通過以下方式添加的產品屬性到您的新模塊的config.xml中,應添加爲一個屬性的選擇:此方法使用下面的代碼加載一個產品集合產品集合。

<sales> 
    <quote> 
     <item> 
      <product_attributes> 
        <metal/> 
      </product_attributes> 
     </item> 
    </quote> 
</sales> 
相關問題