Magento - 从购物车项目

时间:2016-08-19 20:55:53

标签: magento magento-1.9

我是观察员,我想查看购物车商品中的一些信息。

我想加载这些项目的产品属性:

$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加载产品与购物车商品中包含的产品之间的区别是什么?

1 个答案:

答案 0 :(得分:0)

您可以按照以下说明操作:

enter image description here

这可以通过在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');