我有一个自定义的Magento观察器设置,但其中的代码没有运行。
以下是有问题的代码: 应用程序的/ etc /模块/ Peltinc_Salesrule.xml
<?xml version="1.0"?>
<config>
<modules>
<peltinc_salesrule>
<active>true</active>
<codePool>local</codePool>
</peltinc_salesrule>
</modules>
</config>
应用程序/代码/本地/ Peltinc / Salesrule的/ etc / config.xml中
<?xml version="1.0"?>
<config>
<modules>
<peltinc_salesrule>
<version></version>
</peltinc_salesrule>
</modules>
<global>
<models>
<peltinc_salesrule>
<class>Peltinc_SalesRule_Model</class>
</peltinc_salesrule>
</models>
<events>
<sales_order_place_after>
<observers>
<peltinc_salesrule_order_observer>
<type>singleton</type>
<class>Peltinc_SalesRule_Model_Order_Observer</class>
<method>insert_order_to_db</method>
</peltinc_salesrule_order_observer>
</observers>
</sales_order_place_after>
</events>
</global>
</config>
应用程序/代码/本地/ Peltinc / Salesrule /型号/订购/ Observer.php
class Peltinc_SalesRule_Model_Order_Observer
{
public function __construct()
{
}
public function insert_order_to_db($observer)
{
Mage::log('In the observer');
return $this;
}
}
我下订单时从不写日志。我确定我的某些地方有错误的配置,但我无法发现它。有什么建议吗?
答案 0 :(得分:0)
Jimmy,xml中存在问题
peltinc_salesrule.xml应为Peltinc_Salesrule
<?xml version="1.0"?>
<config>
<modules>
<Peltinc_Salesrule>
<active>true</active>
<codePool>local</codePool>
</Peltinc_Salesrule>
</modules>
</config>
还需要将模块版本和<class>Peltinc_SalesRule_Model_Order_Observer</class>
放到<class>peltinc_salesrule/order_observer</class>
<?xml version="1.0"?>
<config>
<modules>
<Peltinc_Salesrule>
<version>1.0.0</version>
</Peltinc_Salesrule>
</modules>
<global>
<models>
<peltinc_salesrule>
<class>Peltinc_SalesRule_Model</class>
</peltinc_salesrule>
</models>
<events>
<sales_order_place_after>
<observers>
<peltinc_salesrule_order_observer>
<type>singleton</type>
<class>peltinc_salesrule/order_observer</class>
<method>insert_order_to_db</method>
</peltinc_salesrule_order_observer>
</observers>
</sales_order_place_after>
</events>
</global>
</config>
我希望,它会起作用.....如果您有任何疑问,请告诉我。