在Magento中创建Hello World事件分配器观察者?

问题描述

| 我正在尝试在Magento中创建事件分配器(在将产品添加到购物车后应调用该事件分配器)。 到目前为止,我已经完成了什么: 我对此进行了Google搜索,并找到了此链接。我按照此链接中指定的说明进行操作。我配置了config.xml文件,并在mymodule / model文件夹下创建了一个Observer.PHP filder。但是,我看不到任何结果。 (我在示例中使用的config.xml和Observer.PHP文件代码可以在http://goo.gl/O7dBy下找到,我的自定义模块名称是Crossdata,包名称是MyModule-我做错了吗? ) 任何带有简单helloworld事件调度程序示例的链接都将有所帮助。 谢谢, 巴兰

解决方法

查看从http://goo.gl/O7dBy下载的代码,您将定义:
<events>
    <add_to_cart_after>
        <observers>
            <add_to_cart_after>
                <class>dispatcher/observer</class>
                <method>hookToAddToCartAfter</method>
            </add_to_cart_after>
        </observers>
    </add_to_cart_after>
</events>
并将“ 1”的模型别名定义为:
<models>
    <dispatcher>
        <class>MyPackage_Crossdata_Dispatcher_Model</class>
    </dispatcher>
</models>
结果类名称为
MyPackage_Crossdata_Model_Dispatcher_Model_Observer
,但您的观察者类名为
MyPackage_Crossdata_Dispatcher_Model_Observer
,而在
Crossdata
Dispatcher
之间缺少
Model
。 我建议将整个
dispatcher
模型定义删除,并仅使用you10ѭ中已经定义的其他模型别名
crossdata
<crossdata>
    <class>MyPackage_Crossdata_Model</class>
    <resourceModel>crossdata_mysql4</resourceModel>
</crossdata>   
然后将事件定义更改为:
<add_to_cart_after>
    <class>crossdata/observer</class>
    <method>hookToAddToCartAfter</method>
</add_to_cart_after>
创建一个文件“ 13”,并在其中定义您的观察者类:
class MyPackage_Crossdata_Model_Observer
{
    public function hookToAddToCartAfter($observer)
    {
        // your observer code
    }
}
,您为Observer.php添加了文件夹还是文件?您可以张贴为此编写的代码,以便我们更好地帮助您调试吗?该教程尽可能简单易懂。,在ѭ10中,为块和模型提供的简称为is9ѭ。但是该事件使用别名“ 17”,您尚未定义名称“ 1”。可能需要是19英镑。 Inchoo示例将其称为模块
Inchoo_Dispatcher
,型号为
Inchoo_Dispatcher_Model_Observer
。您的模块是
MyPackage_Crossdata
,这意味着别名
crossdata/observer
会尝试加载
MyPackage_Crossdata_Model_Observer
。但是您的观察者被错误地称为
MyPackage_Crossdata_Dispatcher_Model_Observer
。 如果您粘贴的代码未在此处显示在堆栈溢出中,则将其缩进四个空格或使用{}按钮对其进行格式化。那是显示代码的首选方法。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...