[英]Magento 1.6.2 event observer doesnt work
我正在尝试在我的模块(应用程序/代码/社区/测试/运输)中实现观察者。
我的文件是:仅app / code / community / Test / Shipping / etc / config.xml全局部分
<global>
<models>
<test_shipping>
<class>Test_Shipping_Model</class>
</test_shipping>
</models>
<events>
<checkout_type_onepage_save_order_after>
<observers>
<Test_Shipping_Observer>
<type>singleton</type>
<class>test_shipping/observer</class>
<method>checkout_type_onepage_save_order_after</method>
</Test_Shipping_Observer>
</observers>
</checkout_type_onepage_save_order_after>
</events>
</global>
app / code / community / Test / Shipping / Model / Observer.php我替换了curl中的一些值,但对其进行了测试,并使用正确的值。
<?php
类Test_Shipping_Model_Observer {
public function checkout_type_onepage_save_order_after(Varien_Event_Observer $observer) {
$requests = array(
"username" => "test",
"password" => "test",
"environment" => "development",
"action" => "ship",
"service_id" => "1"
);
$url = "";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($requests));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
curl_close($ch);
}
}
app / etc / modules / Test_Shipping.xml,带有开始和结束配置标签,无法在我的代码示例中获取它们。
<modules>
<Test_Shipping>
<active>true</active>
<codePool>community</codePool>
</Test_Shipping>
</modules>
但是观察者不工作,有人可以帮我吗? 有没有一种方法可以检查方法是否被调用,所以我会知道观察者有效,但是我的卷曲却没有。
您能否向我们展示config.xml的<config>/<modules>
部分?
无论如何,除了非magento友好的观察者的函数名之外,它都应该起作用(您应该像executeCurlAfterOrderSave()
那样调用)
确保它被称为:
在Backoffice中激活日志功能(菜单系统/配置/开发人员/日志设置)
添加一个Mage::log('event just dispatched');
之后
法师:: dispatchEvent('checkout_type_onepage_save_order_after',array('order'=> $ order,'quote'=> $ this-> getQuote()));
在Mage_Checkout_Model_Type_Onepage
(或您正在使用API的Mage_Checkout_Model_Cart_Api
)中调用的注释):还原此更改仅用于调试目的,因为您不能修改核心文件。
添加一个Mage::log('even should be captured here');
在您的Observer方法的开头
测试您的代码并查看var / log文件夹以查看是否发生了什么(已记录的内容)
祝好运
您的config.xml错误,
<global>
<models>
<test_shipping>
<class>Test_Shipping_Model</class>
</test_shipping>
</models>
</global>
<events>
<checkout_type_onepage_save_order_after>
<observers>
<Test_Shipping_Observer>
<type>singleton</type>
<class>test_shipping/observer</class>
<method>checkout_type_onepage_save_order_after</method>
</Test_Shipping_Observer>
</observers>
</checkout_type_onepage_save_order_after>
</events>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.