没有调用magento customer_save_after model / observer,catch customer - >编辑 - >保存功能

时间:2013-02-25 12:08:44

标签: magento

我是magento的新手,并试图为它写一点延伸(magento 1.7)。

我在customer-> edit中创建了tab,它打印了multiselect,好吧,问题是我无法在观察者文件中捕获多选项,然后保存并将它们保存到我在数据库中的自定义表中。

有一些代码段: 应用程序/代码/本地/飘/品牌的/ 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>

应用程序/代码/本地/飘/品牌/型号/ Observer.php

<?php
class Gone_Brands_Model_Observer
{
 public function _construct()
 {
    echo "ssssssssssssssssssssssssssss";
    echo "<script>alert('aaa');</script>";
 }

 public function saveHideManufacturers() {
    echo "ssssssssssssssssssssssssssss";
    echo "<script>alert('bbbb');</script>";
 }
}

Maye还有其他解决方案如何从客户那里获取表格 - &gt;编辑 - &gt;我创建的自定义字段选项卡?

谢谢。

==================================================================================

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

config.xml中

customer_save_after -> change to -> adminhtml_customer_save_after

现在有效。

3 个答案:

答案 0 :(得分:2)

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

config.xml中

customer_save_after -> change to -> adminhtml_customer_save_after

现在有效。

答案 1 :(得分:0)

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

替换:

<class>Gone_Brands_Model_Observer</class>

by:

<class>gonebrands/observer</class>

“gonebrands”(或其他)指的是在config.xml中定义MODEL层的XML节点

答案 2 :(得分:0)

事件定义必须在“global”标记内。也 你的观察者类中不需要_construct方法

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