Pregunta

Estoy siguiendo esta guía (Atributo del producto al artículo de cotización y artículo de pedido) Sin embargo, por cualquier razón, parece que no puedo recuperar mi atributo en mi observador. Mi atributo que creé se llama "Presupuesto Código" y está asignado al producto que estoy tratando de comprar. En mi observador, estoy intentando usar la misma teoría que la publicación anterior, sin embargo, mi atributo de "código de presupuesto" parece tan profundo dentro del esquema que no puedo recuperarlo. Hice Zend_Debug::dump($item) Y puede ver una producción masiva (demasiado grande para pegar) con mi código de presupuesto que se muestra en la dirección, el problema es que parece que no puedo recuperarlo.

Observador.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>

Se agradece cualquier ayuda.

¿Fue útil?

Solución

Camelcase es importante en los Getters/Setters Magic

Usted menciona que su atributo se llama 'Presupuesto Code', pero está utilizando getBudgetCode (), que se traducirá en un atributo llamado Presupuesto_Code.

Si el atributo se llama Presupuesto Code, entonces debe usar getBudgetCode ()

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top