覆盖magento中的订单控制器

override orders controller in magento

我有一个自定义模块 Permissions_Orders。这是我的代码,用于覆盖基本管理员的订单控制器 -

config.xml -

<admin>   
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <orders before="Mage_Adminhtml">Orders_Adminhtml_Sales_OrderController</orders>
                    </modules>
                </args>
            </adminhtml>
        </routers> 
    </admin>

Permissions/Orders/controllers/Adminhtml/Sales/OrderController.php -

<?php
require_once 'Mage/Adminhtml/controllers/Sales/OrderController.php';

class Permissions_Orders_Adminhtml_Sales_OrderController extends Mage_Adminhtml_Sales_OrderController
{

----
}

但它仍然从基本控制器调用。我不确定,我哪里错了。感谢任何帮助。

在 config.xml 中指定要扩展基本 adminhtml 控制器的名称空间和模块名称就足够了。

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

您的 config.xml 应该如下所示,

<config>    
    <admin>
        <routers>
            <adminhtml>
                <args>
                    <modules>
                        <orders before="Mage_Adminhtml">Permissions_Orders_Adminhtml</orders>                        
                    </modules>
                </args>
            </adminhtml>
        </routers>
    </admin>
</config>

注意 </orders> 节点中的变化。