我为magento中的某些产品创建了自定义属性。我将“在产品列表中使用”设置为true并重新编制了产品展平数据。当我从catalog_product_flat_19(19是我的商店的id)中选择*时,我看到了列,我可以在外联网中更新它的值。但是当我做的时候
foreach($quote->getAllItems() as $product)
var_dump($product->getMyCustomAttribute()); //this retuns null
我启用了mysql调试,我看到了一个select from catalog_product_flat_19,但是它指定了特定列和我的自定义属性不是其中之一。任何人都可以告诉我在那里添加它需要做什么吗?
更具体地说,我正在尝试访问监视ajax请求中发生的sales_order_save_commit_after事件的观察者中的属性。
提前感谢您的帮助。
答案 0 :(得分:0)
这和magento中的所有东西一样,原来是配置的东西。在Mage/Sales/etc/config.xml
中有一个config/global/sales/quote/item/product_attributes
节点。该节点包含平面表应返回的所有列的列表。如果您将XML路径添加到配置文件中,无论您要创建的是哪个模块,并向其添加一个空节点,并将其命名为要返回的列。它会起作用。