我在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
如果有人知道这一点,请帮助我。谢谢!
答案 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);