Magento:如何在adminhtml之外覆盖管理员控制器?

时间:2011-06-09 18:00:09

标签: magento controller override

简单地说,我想覆盖Mage / Index / controllers / Admninhtml / ProcessController.php中的ProcessController。

我知道如何覆盖前端控制器,但这让我头疼几个小时了。我不能把它付诸实践。这是我的配置文件

<?xml version="1.0"?>

<config>
<global>
    <models>
        <twobuy_index>
            <class>Twobuy_Index_Model</class>
        </twobuy_index>                 
    </models>
</global>

<admin>
    <routers>
        <index>
            <args>
                <modules>
                     <Twobuy before="Mage_Index">Twobuy_Index</Twobuy>
                </modules>
            </args>            
        </index>
    </routers>
</admin>
</config>

和控制器声明

 include_once('Mage/Index/controllers/Adminhtml/ProcessController.php');
 class Twobuy_Index_Adminhtml_ProcessController extends Mage_Index_Adminhtml_ProcessController
 {

我尝试重写reindexAction,但我的方法永远不会被调用。

2 个答案:

答案 0 :(得分:5)

在配置文件中将<index>替换为<adminhtml>。它可能只是一个复制粘贴错误,但<Twobuy>标记错误地以</Ucon>结尾。

答案 1 :(得分:2)

<Twobuy before="Mage_Index">Twobuy_Index</Ucon>

看起来像XML中的错误

<twobuy_index before="Mage_Index">Twobuy_Index</twobuy_index>