0

我在 magento 中为某些产品创建了自定义属性。我将“在产品列表中使用”设置为真实和重新索引的产品平面数据。当我从 catalog_product_flat_19 中选择 *(19 是我的商店的 ID)时,我会看到该列,并且可以在外联网中更新其值。但是当我这样做时

foreach($quote->getAllItems() as $product) 
    var_dump($product->getMyCustomAttribute()); //this retuns null

我打开了 mysql 调试,我看到了一个来自 catalog_product_flat_19 的选择,但它指定了特定的列,而我的自定义属性不是其中之一。谁能告诉我我需要做什么才能将它添加到那里?

更具体地说,我试图在观察者中访问该属性,该观察者正在观察 ajax 请求中发生的 sales_order_save_commit_after 事件。

提前感谢您的帮助。

4

1 回答 1

0

这就像 magento 中的所有东西一样,原来是配置的东西。里面有Mage/Sales/etc/config.xml一个config/global/sales/quote/item/product_attributes节点。该节点包含平面表应返回的所有列的列表。如果您将该 XML 路径添加到您正在创建的任何模块的配置文件中,并向其中添加一个空节点,命名为您要带回的列。它会起作用的。

于 2013-08-28T22:01:37.007 回答