Magento,用其他本地控制器覆盖本地控制器

时间:2015-01-05 09:51:48

标签: php magento

我正在尝试使用其他本地扩展名覆盖本地codepool扩展控制器,但它不起作用,不知道原因,firstextension是我要覆盖的扩展名secondextension

这是我的代码

config.xml

<admin>
    <routers>
        <firstextension>
            <args>
                <modules>
                    <Namespace_Secondextension before="Namespace_Firstextension">Namespace_Secondextension_Adminhtml</Namespace_Secondextension>
                </modules>
            </args>
        </firstextension>
    </routers>
</admin>

controller

<?php

  require_once 'local/Namespace/Firstextension/controllers/Adminhtml/CustomController.php';
  class Namespace_Secondextension_Adminhtml_CustomController extends Namespace_Firstextension_Adminhtml_CustomController
  {
      public function saveAction()
      { 
      }
  }

2 个答案:

答案 0 :(得分:2)

通过改变解决

 require_once 'local/Namespace/Firstextension/controllers/Adminhtml/CustomController.php';

getModuleDir('controllers','Namespace_Firstextension').DS.'Adminhtml'.DS.'CustomController.php';

 <Namespace_Secondextension before="Namespace_Firstextension">Namespace_Secondextension_Adminhtml</Namespace_Secondextension>

  <Namespace_Secondextension before="Namespace_Firstextension">Namespace_Secondextension</Namespace_Secondextension>

答案 1 :(得分:1)

也许Namespace_secondextension中的错字应该是Namespace_Secondextension,区分大小写在Magento中很重要,这是你的问题吗?