magento客户\未调用模型/观察者后保存\捕获客户->;编辑->;保存功能

magento客户\未调用模型/观察者后保存\捕获客户->;编辑->;保存功能,magento,Magento,我是magento的新手,正在尝试为它编写一些扩展(magento 1.7) 我在customer->edit中创建了一个选项卡,它会打印multiselect,这没关系,问题是在保存multiselect选项并将其保存到数据库中的自定义表之前,我无法在observer文件中捕获multiselect选项 有一些代码片段: app/code/local/Gone/Brands/etc/config.xml <adminhtml> <layout>

我是magento的新手,正在尝试为它编写一些扩展(magento 1.7)

我在customer->edit中创建了一个选项卡,它会打印multiselect,这没关系,问题是在保存multiselect选项并将其保存到数据库中的自定义表之前,我无法在observer文件中捕获multiselect选项

有一些代码片段: app/code/local/Gone/Brands/etc/config.xml

    <adminhtml>
    <layout>
        <updates>
            <customertab>
                <file>customertab.xml</file>
            </customertab>
        </updates>
    </layout>
    <events>
        <customer_save_after>
            <observers>
                <brands_hide_manufacturers>
                    <type>model</type>
                    <class>Gone_Brands_Model_Observer</class>
                    <method>saveHideManufacturers</method>
                </brands_hide_manufacturers>
            </observers>
        </customer_save_after>
    </events>
</adminhtml>
customer_save_after -> change to -> adminhtml_customer_save_after
customer_save_after -> change to -> adminhtml_customer_save_after

最后,花了四个小时来做这件事。也许这对其他人有帮助

config.xml

    <adminhtml>
    <layout>
        <updates>
            <customertab>
                <file>customertab.xml</file>
            </customertab>
        </updates>
    </layout>
    <events>
        <customer_save_after>
            <observers>
                <brands_hide_manufacturers>
                    <type>model</type>
                    <class>Gone_Brands_Model_Observer</class>
                    <method>saveHideManufacturers</method>
                </brands_hide_manufacturers>
            </observers>
        </customer_save_after>
    </events>
</adminhtml>
customer_save_after -> change to -> adminhtml_customer_save_after
customer_save_after -> change to -> adminhtml_customer_save_after

现在可以了。

在magento中,您不会链接到具有完整类名的类。。您必须使用以下框架:

替换:

<class>Gone_Brands_Model_Observer</class>
Gone\u品牌\u型号\u观察者
作者:

gonebrands/observer

“gonebrands”(或其他)是指在config中定义模型层的XML节点。XML

事件定义必须位于“global”标记内。阿尔索
    <adminhtml>
    <layout>
        <updates>
            <customertab>
                <file>customertab.xml</file>
            </customertab>
        </updates>
    </layout>
    <events>
        <customer_save_after>
            <observers>
                <brands_hide_manufacturers>
                    <type>model</type>
                    <class>Gone_Brands_Model_Observer</class>
                    <method>saveHideManufacturers</method>
                </brands_hide_manufacturers>
            </observers>
        </customer_save_after>
    </events>
</adminhtml>
customer_save_after -> change to -> adminhtml_customer_save_after
customer_save_after -> change to -> adminhtml_customer_save_after
在observer类中不需要_构造方法

<global>
    <events>
        <customer_save_after>
            <observers>
                <brands_hide_manufacturers>
                   <type>singleton</type>
                   <class>Gone_Brands_Model_Observer</class>
                   <method>saveHideManufacturers</method>
                </brands_hide_manufacturers>
            </observers>
        </customer_save_after>
    </events>
</global>

独生子女
消失的品牌、模型、观察者
制造商

最后,我们为此花了四个小时。也许这对其他人有帮助

config.xml

    <adminhtml>
    <layout>
        <updates>
            <customertab>
                <file>customertab.xml</file>
            </customertab>
        </updates>
    </layout>
    <events>
        <customer_save_after>
            <observers>
                <brands_hide_manufacturers>
                    <type>model</type>
                    <class>Gone_Brands_Model_Observer</class>
                    <method>saveHideManufacturers</method>
                </brands_hide_manufacturers>
            </observers>
        </customer_save_after>
    </events>
</adminhtml>
customer_save_after -> change to -> adminhtml_customer_save_after
customer_save_after -> change to -> adminhtml_customer_save_after

现在可以了。

当我这样做时,它会说:警告:include(Mage/Gonebrands/Model/Observer.php),如果我做了gone_brands/observer,它看起来像是Mage/gone/brands/Model,但由于我的错误,我发现了一个问题:customer_save_after->change to->adminhtml_customer_save_after我给你的语法是正确的,但你必须根据自己的模块层定义进行调整。转到:了解更多信息explanations@Bixi您确定不能使用完整的类名吗?你可以,举个例子。。检查此文件app/code/core/Mage/Cms/etc/config.xml。。在Magento2中,你只会看到完整的类名,而不会看到类别名,但这是一个糟糕的做法,因为它完全绕过了模型的重写机制。。。在magento中,应在非常特定的情况下使用直接类名进行访问…”事件定义必须位于“全局”标记内。“=>这绝对不是真的:您可以让事件仅影响前端或后端或两者(全局)。。。