我是观察员,我想查看购物车商品中的一些信息。
我想加载这些项目的产品属性:
$items = $observer->getCart()->getItems();
foreach ($items as $item) {
$product = $item->getProduct();
if ($product->getData('my_attribute')) {
// My logic
}
}
但我的业务逻辑从未执行,因为my_attribute
信息中未加载$item->getProduct()
。
我已尝试在config.xml
文件中添加此代码:
<config>
<global>
<sales>
<quote>
<item>
<product_attributes>
<my_attribute />
</product_attributes>
</item>
</quote>
</sales>
唯一适用于我的代码是单独加载产品:
$product = Mage::getModel('catalog/product')->load($item->getProductId());
从catalog\product
加载产品与购物车商品中包含的产品之间的区别是什么?
答案 0 :(得分:0)
您可以按照以下说明操作:
这可以通过在config.xml中添加以下代码来完成:
<global>
<sales>
<quote>
<item>
<product_attributes>
<attribute1 />
<attribute2 />
</product_attributes>
</item>
</quote>
</sales>
</global>
其中attribute1和attribute2是您的属性代码。然后,您可以使用以下代码访问属性:
$item->getData('attribute1');
//if you use observer or quote object:
$item->getProduct()->getData('attribute1');