Проблема с атрибутом продукта, прикрепленным к товару предложения/заказа
Я следую этому руководству ( атрибут продукта, чтобы указать товар и заказать товар ), однако по какой-то причине я, похоже, не могу получить свой атрибут в своем наблюдателе. Мой созданный атрибут называется "код бюджета" и присваивается продукту, который я пытаюсь приобрести. В моем наблюдателе я пытаюсь использовать ту же теорию, что и в предыдущем посте, однако мой атрибут "бюджетный код" появляется так глубоко в схеме, что я не могу его извлечь. Я сделал 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>
Любая помощь приветствуется.
1 answers
Верблюжий футляр важен для магических добытчиков/сеттеров
Вы упомянули, что ваш атрибут называется "код бюджета", но вы используете getBudgetCode(), который преобразуется в атрибут под названием "код бюджета".
Если ваш атрибут называется budgetcode, то вам нужно использовать getBudgetcode()