如何覆盖 Admin Invoice 控制器

How to override the Admin Invoice controller

我正在尝试覆盖管理员 sales/order/invoice 控制器。我尝试了一切,但它并没有覆盖。下面是代码:

配置文件:

<?xml version="1.0" encoding="utf-8"?>
 <config>
    <admin>
    <routers>
        <adminhtml>
            <use>admin</use>     
            <args>
                <modules><TW_Printinvoice before="Mage_Adminhtml">TW_Printinvoice_Adminhtml</TW_Printinvoice>
                </modules>
            </args>
        </adminhtml>
    </routers>
</admin>

控制器文件路径:app/code/local/TW/Printinvoice/controllers/Adminhtml/Sales/Order/

require_once 'Mage/Adminhtml/controllers/Sales/Order/InvoiceController.php';
class TW_Printinvoice_Adminhtml_Sales_Order_PrintController extends    Mage_Adminhtml_Sales_Order_InvoiceController
{
    public function printAction()
    {
        die('Testing'); 
    }
}

试试这个配置:


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

在控制器文件中尝试此代码。 InvoiceController.php

<?php
require_once 'Mage/Adminhtml/controllers/Sales/Order/InvoiceController.php';
class TW_Printinvoice_Adminhtml_Sales_Order_InvoiceController extends Mage_Adminhtml_Sales_Order_InvoiceController
{
    public function printAction()
    {
        die('Testing'); 
    }
}
?>

希望对你有帮助!!