通讯模块没有覆盖magento

时间:2014-01-10 06:43:41

标签: php magento magento-1.7

尝试在本地coodPool中覆盖magento新闻稿模块,但它无效。

应用的/ etc /模块/ Ebiz_Newsletter.xml

<?xml version="1.0"?>
<config>
    <modules>
        <Ebiz_Newsletter>
            <active>true</active>
            <codePool>local</codePool>
        </Ebiz_Newsletter>
    </modules>
</config> 

应用\代码\本地\ EBIZ \通讯\等\ config.xml中

<config>
    <modules>
        <Ebiz_Newsletter> <!--Change Ebiz To Your Module NameSpace and Override to Your Module name-->
            <version>0.1.0</version>
        </Ebiz_Newsletter>
    </modules>
    <frontend>
        <routers>
            <newsletter>
                <args>
                    <modules>
                        <Ebiz_Newsletter before="Mage_Newsletter">Ebiz_Newsletter</Ebiz_Newsletter><!--Change Ebiz To Your Module NameSpace and Override to Your Module name-->
                    </modules>
                </args>
            </newsletter>
        </routers>
    </frontend>
</config>

应用\代码\本地\ EBIZ \通讯\控制器\ SubscriberController.php

<?php
require_once 'Mage/Newsletter/controllers/SubscriberController.php';
class Ebiz_Newsletter_SubscriberController extends Mage_Newsletter_SubscriberController
{
    /**
      * New subscription action
      */

    public function newAction()
    {
        echo 'In local codePool';
        die;
    }

 }

你们能不能让我知道这个问题,因为我们无法找到问题。

1 个答案:

答案 0 :(得分:4)

缺少xml版本和xml注释问题。

 <?xml version="1.0" encoding="utf-8"?>
<config>
        <modules>
            <Ebiz_Newsletter>
                <version>1.0.0</version>
            </Ebiz_Newsletter>
        </modules>
        <frontend>
            <routers>
                <customnewsletter>
                    <use>standard</use>
                    <args>
                        <module>Ebiz_Newsletter</module>
                        <frontName>customnewsletter</frontName>
                    </args>
                </customnewsletter>
            </routers>
        </frontend>
        <global>
            <rewrite>
                <customnewsletter>
                    <from><![CDATA[#^/newsletter/subscriber/#]]></from>
                    <to>/customnewsletter/subscriber/</to>
                </customnewsletter>
            </rewrite>
        </global>
  </config>  

请完全删除明文magento缓存。

控制器编码

<?php
require_once Mage::getModuleDir('controllers','Mage_Newsletter').DS.'SubscriberController.php';
class Ebiz_Newsletter_SubscriberController extends Mage_Newsletter_SubscriberController
{


public function newAction()
    {
echo "test";
}
}

这个编码已经在我的系统上进行了测试。让我知道你有任何疑问。 同时从magento dir / var / cachea中删除缓存并清除浏览器缓存。