产品属性附加到报价/订单项的问题
-
16-10-2019 - |
题
我正在遵循本指南(产品属性对报价项目和订购项目)但是,无论出于何种原因,我似乎都无法在观察者中检索我的属性。我创建的属性称为“预算代码”,被分配给我要购买的产品。在我的观察者中,我试图使用与上述帖子相同的理论,但是我的“预算代码”属性在模式中显得如此之深,我无法检索它。我做到了 Zend_Debug::dump($item)
并且可以看到我的预算代码向下显示的大量输出(太大而无法粘贴),问题是我似乎无法检索它。
observer.php
class Bendart_BudgetCode_Model_Observer extends Varien_Event_Observer
{
public function setBudgetCodeAttribute(Varien_Event_Observer $observer)
{
$item = $observer->getQuoteItem();
Zend_Debug::dump($item);
$product = $observer->getProduct();
$item->setBudgetCode($product->getBudgetCode());
return $this;
}
}
config.xml
<?xml version="1.0"?>
<config>
<modules>
<Bendart_BudgetCode>
<version>0.1.0</version>
</Bendart_BudgetCode>
</modules>
<global>
<fieldsets>
<sales_convert_quote_item>
<budgetcode>
<to_order_item>*</to_order_item>
</budgetcode>
</sales_convert_quote_item>
</fieldsets>
<sales>
<quote>
<item>
<product_attributes>
<budgetcode />
</product_attributes>
</item>
</quote>
</sales>
<events>
<sales_quote_item_set_product>
<observers>
<Bendart_BudgetCode>
<class>Bendart_BudgetCode_Model_Observer</class>
<method>setBudgetCodeAttribute</method>
</Bendart_BudgetCode>
</observers>
</sales_quote_item_set_product>
</events>
</global>
</config>
任何帮助都将受到赞赏。
解决方案
骆驼在魔术获取器/固定器中很重要
您提到您的属性称为“预算代码”,但您使用的是getBudgetCode() - 它将转化为称为buckity_code的属性。
如果您的属性称为BuffictCode,则需要使用GetBudgetCode()