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>