我正在使用下面的配置文件。但是,当我保存产品时,永远不会调用观察者类。
<?xml version="1.0"?>
<config>
<modules>
<PcTp_Stock>
<version>1.0.0</version>
</PcTp_Stock>
</modules>
<global>
<blocks>
<stock>
<class>PcTp_Stock_Block</class>
</stock>
</blocks>
<models>
<stock>
<class>PcTp_Stock_Model</class>
</stock>
</models>
</global>
<adminhtml>
<layout>
<updates>
<stock>
<file>stock.xml</file>
</stock>
</updates>
</layout>
<events>
<catalog_product_save_after>
<observers>
<pctp_stock_product_catalog_data_inventory>
<type>singleton</type>
<class>stock/observer</class>
<method>saveProductTabData</method>
</pctp_stock_product_catalog_data_inventory>
</observers>
</catalog_product_save_after>
</events>
</adminhtml>
观察者类(Pc_Tp_Stock_Model_Observer)保存到app / code / local / PcTp / Stock / Model / Observer.php
如何让它发挥作用?
<?php
class Pc_Tp_Stock_Model_Observer
答案 0 :(得分:0)
config.xml中
<?xml version="1.0"?>
<config>
<modules>
<PcTp_Stock>
<version>1.0.0</version>
</PcTp_Stock>
</modules>
<global>
<models>
<PcTp_Stock>
<class>PcTp_Stock_Model</class>
</PcTp_Stock>
</models>
</global>
<adminhtml>
<events>
<catalog_product_save_after>
<observers>
<pctp_stock_save_after>
<type>model</type>
<class>PcTp_Stock/observer</class>
<method>catalogProductSaveAfter</method>
</pctp_stock_save_after>
</observers>
</catalog_product_save_after>
</events>
</adminhtml>
</config>
应用\代码... \ PCTP \库存\模型\ Observer.php
<?php
class PcTp_Stock_Model_Observer {
public function catalogProductSaveAfter($observer) {
die('observer launched');
}
}
答案 1 :(得分:-1)
您的命名体系结构在声明观察者/类的位置看起来有点偏。尝试将其更改为此;
<observers>
<PcTp_Stock_Model_Observer>
<type>singleton</type>
<class>PcTp_Stock_Model_Observer</class>
<method>saveProductTabData</method>
</PcTp_Stock_Model_Observer>
</observers>
然后在你的Model / Observer.php文件中;
class PcTp_Stock_Model_Observer {
public function saveProductTabData() {
// Do something
}
}
还要确保该活动在1.7中可用。我使用此网站获取1.7 https://www.nicksays.co.uk/magento-events-cheat-sheet-1-7/的快速参考指南,可能值得尝试使用catalog_product_prepare_save。
最佳
汤姆