当产品被添加到购物车时,我正试图解雇观察者,这是我的代码:
应用程序的/ etc /模块/ Mydons_Eventdemo.xml
<?xml version="1.0"?>
<config>
<modules>
<Mydons_Eventdemo>
<active>true</active>
<codePool>local</codePool>
</Mydons_Eventdemo>
</modules>
</config>
应用程序/代码/本地/ Mydons / Eventdemo的/ etc / config.xml中
<?xml version="1.0"?>
<config>
<modules>
<Mydons_Eventdemo>
<version>0.1.0</version>
</Mydons_Eventdemo>
</modules>
<frontend>
<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>
</frontend>
</config>
和 app / code / local / Mydons / Eventdemo / Model / Observer.php
<?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
}
}
但是当我将产品添加到购物车时,它就像往常一样运行。这里有什么不对吗?请帮忙!
更新:我检查了日志文件:system.log并得到了这些:
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
但我不知道它是什么。
Update2:我再次运行它并获得更清晰的日志消息:
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
答案 0 :(得分:2)
你在构造函数中有die()
所以当magento创建类时,脚本停止并且根本不调用该方法。
答案 1 :(得分:1)
正如您所描述的那样&#34;包含警告&#34; ,似乎你已经启用了编译器,但它找不到合适的文件,即Mydons_Eventdemo_Model_Observer.php
。
尝试重新编译代码。刷新缓存,如果启用,则检查它是否正常工作
答案 2 :(得分:0)
尝试使用以下
<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>