Magento事件未触发
当一个产品被添加到购物车时,我试图触发一个观察者,下面是我的代码: app/etc/modules/Mydons\u Eventdemo.xmlMagento事件未触发,magento,Magento,当一个产品被添加到购物车时,我试图触发一个观察者,下面是我的代码: app/etc/modules/Mydons\u Eventdemo.xml ]:Entity:第22行:解析器错误:第22352行的D:\Webserver\htdocs\magento\includes\src\\uu default.php中标记配置第21行的数据过早结束 2014-05-27T07:17:19+00:00错误(3):警告:simplexml\u load\u string()[]:在22352行的D:\
]:Entity:第22行:解析器错误:第22352行的D:\Webserver\htdocs\magento\includes\src\\uu default.php中标记配置第21行的数据过早结束
2014-05-27T07:17:19+00:00错误(3):警告:simplexml\u load\u string()[]:在22352行的D:\Webserver\htdocs\magento\includes\src\\u default.php中
2014-05-27T07:17:19+00:00错误(3):警告:在22352行的D:\Webserver\htdocs\magento\includes\src\\uu default.php中的simplexml\u load\u string()
2014-05-27T07:17:19+00:00错误(3):警告:simplexml\u load\u string()[]:实体:第22行:解析器错误:第22352行的D:\Webserver\htdocs\magento\includes\src\\u default.php中标记配置第2行的数据过早结束
2014-05-27T07:17:19+00:00错误(3):警告:simplexml\u load\u string()[]:在22352行的D:\Webserver\htdocs\magento\includes\src\\u default.php中
2014-05-27T07:17:19+00:00错误(3):警告:在22352行的D:\Webserver\htdocs\magento\includes\src\\uu default.php中的simplexml\u load\u string()
但我不知道那是什么
更新2:我再次运行它,得到一条更清晰的日志消息:
2014-05-27T07:29:00+00:00 ERR (3): Warning: include(D:\Webserver\htdocs\magento\includes\src\Mydons_Eventdemo_Model_Observer.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in D:\Webserver\htdocs\magento\includes\src\Varien_Autoload.php on line 93
2014-05-27T07:29:00+00:00 ERR (3): Warning: include() [<a href='function.include'>function.include</a>]: Failed opening 'D:\Webserver\htdocs\magento\includes\src\Mydons_Eventdemo_Model_Observer.php' for inclusion (include_path='D:\Webserver\htdocs\magento\includes\src;.;D:\Webserver\php\PEAR') in D:\Webserver\htdocs\magento\includes\src\Varien_Autoload.php on line 93
2014-05-27T07:29:00+00:00错误(3):警告:include(D:\Webserver\htdocs\magento\includes\src\Mydons\u Eventdemo\u Model\u Observer.php)[]:无法打开流:第93行的D:\Webserver\htdocs\magento\includes\src\Varien\u Autoload.php中没有这样的文件或目录
2014-05-27T07:29:00+00:00错误(3):警告:include()[]:在第93行的D:\Webserver\htdocs\magento\includes\src\Mydons\u Eventdemo\u Model\u Observer.php'中打开“D:\Webserver\htdocs\magento\includes\src;D:\Webserver\php\PEAR”)以包含(includes\src\Varien\u Autoload.php)失败
构造函数中有die()
<config>
<modules>
<Mydons_Eventdemo>
<version>0.1.0</version>
</Mydons_Eventdemo>
</modules>
<global>
<events>
<checkout_cart_product_add_after>
<observers>
<Mydons_Eventdemo_Model_Observer>
<type>singleton</type>
<class>Mydons_Eventdemo_Model_Observer</class>
<method>Mytestmethod</method>
</Mydons_Eventdemo_Model_Observer>
</observers>
</checkout_cart_product_add_after>
</events>
</global>
<config>
0.1.0
独生子女
Mydons\u事件演示\u模型\u观察者
Mytestmethod
正如您在问题“包含警告”中所述,似乎您启用了编译器,但它找不到正确的文件,即Mydons\u Eventdemo\u Model\u Observer.php
再次尝试重新编译代码。刷新缓存,如果启用,然后检查它是否工作正常文件路径是否正确app/code/Mydons/Eventdemo/etc/config.xml
不正确应该是app/code/local/Mydons/Eventdemo/etc/config.xml
很抱歉,这是一个打字错误,路径是app/code/local/Mydons/Eventdemo/etc/config.xml,我编辑了我的问题。请重新编译代码。刷新缓存和检查仍然是相同的结果和日志消息,并且在my magento中未启用缓存。请参阅此处提到的相同内容。如果是这样的话,它必须返回一个空白页或至少有“hello world”,但它只是像往常一样运行:(你是对的。我正在我的一个magento项目上测试这个,你的代码工作正常。仔细检查magento缓存和服务器(apc、memcache)。尝试重新启动服务器。如果没有帮助,请检查是否有其他扩展在您的观察者被激发之前没有停止脚本。我尝试重新启动服务器,然后删除所有其他扩展(虽然只有helloworld模块),但没有运气:(@user1985916,您的上述代码(在您的问题中)已经可以正常工作了。你和Mage::log()检查过了吗;@Ankita,使用而不是会有什么不同吗?我相信两者都会起作用。我检查了日志文件并更新了我的问题,请重新阅读问题。@user1985916,这是因为config.xml或任何其他配置文件有问题,所以解析error@DushyantJoshi我再次更新我的问题。这是因为e我的magento配置有问题吗?
<?php
class Mydons_Eventdemo_Model_Observer {
public function __construct()
{
echo 'hello world';
die();
}
public function Mytestmethod($observer) {
$event = $observer->getEvent(); //Fetches the current event
$product = $event->getProduct();
$eventmsg = "Current Event Triggered : <I>" . $event->getName() . "</I><br/> Currently Added Product : <I> " . $product->getName()."</I>";
//Adds Custom message to shopping cart
echo Mage::getSingleton('checkout/session')->addSuccess($eventmsg);
//Your Custom Logic Here
//you can use print_r($product) here to get more details
}
}
2014-05-27T07:17:19+00:00 ERR (3): Warning: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 22: parser error : Premature end of data in tag config line 21 in D:\Webserver\htdocs\magento\includes\src\__default.php on line 22352
2014-05-27T07:17:19+00:00 ERR (3): Warning: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: in D:\Webserver\htdocs\magento\includes\src\__default.php on line 22352
2014-05-27T07:17:19+00:00 ERR (3): Warning: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: ^ in D:\Webserver\htdocs\magento\includes\src\__default.php on line 22352
2014-05-27T07:17:19+00:00 ERR (3): Warning: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: Entity: line 22: parser error : Premature end of data in tag config line 2 in D:\Webserver\htdocs\magento\includes\src\__default.php on line 22352
2014-05-27T07:17:19+00:00 ERR (3): Warning: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: in D:\Webserver\htdocs\magento\includes\src\__default.php on line 22352
2014-05-27T07:17:19+00:00 ERR (3): Warning: simplexml_load_string() [<a href='function.simplexml-load-string'>function.simplexml-load-string</a>]: ^ in D:\Webserver\htdocs\magento\includes\src\__default.php on line 22352
2014-05-27T07:29:00+00:00 ERR (3): Warning: include(D:\Webserver\htdocs\magento\includes\src\Mydons_Eventdemo_Model_Observer.php) [<a href='function.include'>function.include</a>]: failed to open stream: No such file or directory in D:\Webserver\htdocs\magento\includes\src\Varien_Autoload.php on line 93
2014-05-27T07:29:00+00:00 ERR (3): Warning: include() [<a href='function.include'>function.include</a>]: Failed opening 'D:\Webserver\htdocs\magento\includes\src\Mydons_Eventdemo_Model_Observer.php' for inclusion (include_path='D:\Webserver\htdocs\magento\includes\src;.;D:\Webserver\php\PEAR') in D:\Webserver\htdocs\magento\includes\src\Varien_Autoload.php on line 93
<config>
<modules>
<Mydons_Eventdemo>
<version>0.1.0</version>
</Mydons_Eventdemo>
</modules>
<global>
<events>
<checkout_cart_product_add_after>
<observers>
<Mydons_Eventdemo_Model_Observer>
<type>singleton</type>
<class>Mydons_Eventdemo_Model_Observer</class>
<method>Mytestmethod</method>
</Mydons_Eventdemo_Model_Observer>
</observers>
</checkout_cart_product_add_after>
</events>
</global>
<config>