如何在购物车中显示属性的值?

时间:2014-01-27 09:11:57

标签: magento

我在admin中添加了一个带有输入类型文本框的属性'items'。我想在购物车中显示该属性的值。为此我在template/checkout/cart/sidebar-top.phtml中添加了以下代码:

<?php 
        $productId = $_item->getId();
        $productInfo = Mage::getModel("catalog/product")->load($productId); 
        echo $productInfo->getAttributeText('product_type'); 
?> 

但是当我添加以上代码显示

Fatal error: Call to a member function getId() on a non-object 

如果有人知道这一点,请帮助我。谢谢!

2 个答案:

答案 0 :(得分:0)

使用以下代码

$productId = $_item->getProduct()->getId();
$productInfo = Mage::getModel("catalog/product")->load($productId); 
echo $productInfo->getAttributeText('product_type');

答案 1 :(得分:0)

您是在谈论自定义选项还是简单属性?

对于简单属性(文本),如果您在产品页面上,请尝试belo代码:

<?php $_item = $this->getItem()?>
<?php $_product= Mage::getSingleton('catalog/product')->load($_item->getProductId()) ?>
<?php echo $_product->getResource()->getAttribute('attribute_code')->getFrontend()->getValue($_product); ?>

如果您不在产品页面上,则可以使用以下代码,通过sku加载产品并获取属性值

$product = Mage::getModel('catalog/product')->loadByAttribute('sku', $_item->getSku());
echo $product->getResource()->getAttribute('attribute_code')->getFrontEnd()->getValue($product);