在magento 1.9中无法覆盖magento管理控制器


Could not override magento admin controller in Magento 1.9

我试图覆盖admin时事通讯模板控制器。我做了以下的事情。但是它没有被重写。

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;
    }
}

它没有被覆盖。这个代码有什么问题吗?

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

现在检查而你的templateconcontroller .php的位置应该是Company>Newsletter>controllers>Adminhtml>Newsletter>

<?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;
    }
}