Magento 1.9:新手尝试创建一个在保存 cms 页面时触发方法的模块
Magento 1.9: Newbie trying to create a module that triggers a method when a cms page is saved
我正在尝试创建一个非常基本的模块,它会在 CMS 中保存页面时触发 saveCmsPageObserve()
方法。我试过让代码死机或写入日志,但我没有任何运气。
谁能看出我做错了什么?
我使用的是 Magento 1.9,我一直在尝试使用这些教程:
http://www.smashingmagazine.com/2012/03/01/basics-creating-magento-module/
http://www.pierrefay.com/event-observers-magento-tutorial-howto-105
我的代码如下所示:
/app/etc/modules/Wyoming_Recruitment.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Wyoming_Recruitment>
<!-- Whether our module is active: true or false -->
<active>true</active>
<!-- Which code pool to use: core, community or local -->
<codePool>local</codePool>
</Wyoming_Recruitment>
</modules>
</config>
/app/code/local/Wyoming/Recruitment/etc/config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Wyoming_Recruitment>
<version>0.0.1</version>
</Wyoming_Recruitment>
</modules>
<!-- Configure our module's behavior in the global scope -->
<global>
<!-- Defining models -->
<models>
<!--
Unique identifier in the model's node.
By convention, we put the module's name in lowercase.
-->
<wyoming_savecmspageobserve>
<!--
The path to our models directory, with directory
separators replaced by underscores
-->
<class>Wyoming_Recruitment_Model_Observer</class>
</wyoming_savecmspageobserve>
</models>
<strong>
<events>
<cms_page_prepare_save>
<observers>
<Wyoming_Recruitment_Model_Observer>
<type>singleton</type>
<class>wyoming_savecmspageobserve/observer</class>
<method>saveCmsPageObserve</method>
</Wyoming_Recruitment_Model_Observer>
</observers>
</cms_page_prepare_save>
</events>
</strong>
</global>
</config>
/app/code/local/Wyoming/Recruitment/Model/Observer.php
<?php
class Wyoming_Recruitment_Model_Observer extends Varien_Event_Observer
{
public function __construct()
{
}
public function saveCmsPageObserve($observer)
{
$event = $observer->getEvent();
$model = $event->getPage();
//print_r($model->getData());
// die('test');
Mage::log("saveCmsPageObserve called", null, 'product-updates.log');
}
}
?>
您的 /app/code/local/Wyoming/Recruitment/etc/config.xml
: 文件应该是
<config>
<modules>
<Wyoming_Recruitment>
<version>0.0.1</version>
</Wyoming_Recruitment>
</modules>
<!-- Configure our module's behavior in the global scope -->
<adminhtml>
<events>
<cms_page_prepare_save>
<observers>
<Wyoming_Recruitment_Model_Observer>
<type>singleton</type>
<class>Wyoming_Recruitment_Model_Observer</class>
<method>saveCmsPageObserve</method>
</Wyoming_Recruitment_Model_Observer>
</observers>
</cms_page_prepare_save>
</events>
</adminhtml>
</config>
我正在尝试创建一个非常基本的模块,它会在 CMS 中保存页面时触发 saveCmsPageObserve()
方法。我试过让代码死机或写入日志,但我没有任何运气。
谁能看出我做错了什么?
我使用的是 Magento 1.9,我一直在尝试使用这些教程:
http://www.smashingmagazine.com/2012/03/01/basics-creating-magento-module/ http://www.pierrefay.com/event-observers-magento-tutorial-howto-105
我的代码如下所示:
/app/etc/modules/Wyoming_Recruitment.xml
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Wyoming_Recruitment>
<!-- Whether our module is active: true or false -->
<active>true</active>
<!-- Which code pool to use: core, community or local -->
<codePool>local</codePool>
</Wyoming_Recruitment>
</modules>
</config>
/app/code/local/Wyoming/Recruitment/etc/config.xml:
<?xml version="1.0" encoding="UTF-8"?>
<config>
<modules>
<Wyoming_Recruitment>
<version>0.0.1</version>
</Wyoming_Recruitment>
</modules>
<!-- Configure our module's behavior in the global scope -->
<global>
<!-- Defining models -->
<models>
<!--
Unique identifier in the model's node.
By convention, we put the module's name in lowercase.
-->
<wyoming_savecmspageobserve>
<!--
The path to our models directory, with directory
separators replaced by underscores
-->
<class>Wyoming_Recruitment_Model_Observer</class>
</wyoming_savecmspageobserve>
</models>
<strong>
<events>
<cms_page_prepare_save>
<observers>
<Wyoming_Recruitment_Model_Observer>
<type>singleton</type>
<class>wyoming_savecmspageobserve/observer</class>
<method>saveCmsPageObserve</method>
</Wyoming_Recruitment_Model_Observer>
</observers>
</cms_page_prepare_save>
</events>
</strong>
</global>
</config>
/app/code/local/Wyoming/Recruitment/Model/Observer.php
<?php
class Wyoming_Recruitment_Model_Observer extends Varien_Event_Observer
{
public function __construct()
{
}
public function saveCmsPageObserve($observer)
{
$event = $observer->getEvent();
$model = $event->getPage();
//print_r($model->getData());
// die('test');
Mage::log("saveCmsPageObserve called", null, 'product-updates.log');
}
}
?>
您的 /app/code/local/Wyoming/Recruitment/etc/config.xml
: 文件应该是
<config>
<modules>
<Wyoming_Recruitment>
<version>0.0.1</version>
</Wyoming_Recruitment>
</modules>
<!-- Configure our module's behavior in the global scope -->
<adminhtml>
<events>
<cms_page_prepare_save>
<observers>
<Wyoming_Recruitment_Model_Observer>
<type>singleton</type>
<class>Wyoming_Recruitment_Model_Observer</class>
<method>saveCmsPageObserve</method>
</Wyoming_Recruitment_Model_Observer>
</observers>
</cms_page_prepare_save>
</events>
</adminhtml>
</config>