无法覆盖Magento 1.9中的magento管理员控制器

时间:2014-08-13 05:46:29

标签: php magento

我正在尝试覆盖管理新闻稿模板控制器。我做了以下事情。但它并没有被覆盖。

模块config.xml

<frontend>
        <routers>
            <company>
                <args>
                    <module>Company_Newsletter</module>
                    <frontName>newsletterarchive</frontName>
                </args>
            </company>
        </routers>
    </frontend>

    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <Company_Newsletter before="Mage_Adminhtml_Newsletter_TemplateController">Company_Newsletter_Adminhtml_TemplateController</Company_Newsletter>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>

我的控制器放在

  

应用\代码\本地\公司\通讯\控制器\ Adminhtml \ TemplateController.php

这是我的控制器代码。

include_once("Mage/Adminhtml/controllers/Newsletter/TemplateController.php");
class Company_Newsletter_Adminhtml_TemplateController extends Mage_Adminhtml_Newsletter_TemplateController {
    public function editAction()
    {
        die;
    }
}

它没有得到覆盖。这段代码有什么问题吗?

1 个答案:

答案 0 :(得分:0)

 <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <Company_Newsletter before="Mage_Adminhtml">Company_Newsletter_Adminhtml</Company_Newsletter>
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>

现在检查 并且您的TemplateController.php位置应该是公司&gt;新闻稿&gt;控制器&gt; Adminhtml&gt;新闻稿&gt;

<?php
require_once Mage::getModuleDir('Mage_Adminhtml').DS.'Newsletter'.DS.'TemplateController.php'
class Company_Newsletter_Adminhtml_Newsletter_TemplateController extends Mage_Adminhtml_Newsletter_TemplateController {
    public function editAction()
    {
        die;
    }
}