覆盖Magento 1.7 CE中的核心管理控制器

时间:2013-10-09 16:31:27

标签: controller magento-1.7 admin

我正在尝试从核心覆盖控制器(Mage / Adminhtml / controllers / Sales / Order / InvoiceController)。

我的自定义模块'config.xml中的代码:

<modules>
    <admin>
          <routers>
            <adminhtml>
                <args>
                    <modules>
                        <Mycompany_Mymodule before="Mage_Adminhtml">Mycompany_Mymodule_Adminhtml</Mycompany_Mymodule>
                    </modules>
                </args>
            </adminhtml>
          </routers>
      </admin>
</modules>

我的控制器文件位于:local / mycompany / mymodule / controllers / adminhtml / dueperiodcontroller.php

路线没有到达(仍然使用核心控制器)。

可能有一种方法可以将mycompany / adminhtml用作模块并将所有内容放在此处。 这有用吗?

最好是对我已经做过的方式进行简单的修复。

1 个答案:

答案 0 :(得分:2)

  1. 模块覆盖xml应该在
  2. &GT;

    <config>
        <admin>
              <routers>
                <adminhtml>
                    <args>
                        <modules>
                            <Mycompany_Mymodule before="Mage_Adminhtml">Mycompany_Mymodule_Adminhtml</Mycompany_Mymodule>
                        </modules>
                    </args>
                </adminhtml>
              </routers>
          </admin>
    </config>
    
    1. 将控制器文件放在相同的目录结构下,并且应该具有相同的名称 local/mycompany/mymodule/controllers/Adminhtml/Sales/Order/InvoiceController.php

    2. 使用类名如下

    3. &GT;

      require_once 'Mage/Adminhtml/controllers/Sales/Order/InvoiceController';
      class mycompany_mymodule_Adminhtml_Sales_Order_InvoiceController extends Mage_Adminhtml_Sales_Order_InvoiceController