0

我正在尝试从核心(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 作为模块并将所有内容都放在此处。这行得通吗?

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

4

1 回答 1

2
  1. module override xml 应该在

>

<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. 使用类名如下

>

require_once 'Mage/Adminhtml/controllers/Sales/Order/InvoiceController';
class mycompany_mymodule_Adminhtml_Sales_Order_InvoiceController extends Mage_Adminhtml_Sales_Order_InvoiceController
于 2013-11-14T17:16:03.573 回答