1

我想从本地模块覆盖“社区”控制器”。我发现了很多关于覆盖核心控制器的教程,但没有关于社区控制器的内容。

Magento 版本:1.6.1

我目前的状态是: - 覆盖核心控制器 => OK - 覆盖社区控制器 => KO

这是我的文件树:

- community
  - Namespace
    - Mycommunitymodule
      - controllers
        - IndexController.php
- local
  - Namespace
    - Mylocalmodule
      - controllers
        - Mycommunitymodule
          - IndexController.php
      - etc
        - config.xml

我的本地模块的来源

<mycommunitymodule>
   <args>
    <modules>
     <Namespace_Mylocalmodule  before="Namespace_Mycommunitymodule">Namespace_Mylocalmodule_Mycommunitymodule</Namespace_Mylocalmodule>
    </modules>
   </args>
</mycommunitymodule>

我的覆盖控制器的源代码:

<?
$origDir = Mage::getModuleDir('controllers','Namespace_Mycommunitymodule').DS;
require_once $origDir.'IndexController.php';
class Namespace_Mylocalmodule_Mycommunitymodule_IndexController extends     Namespace_Mycommunitymodule_IndexController
{
 public function indexAction() {
      zend_Debug::Dump("test surchargé");
 }
}

先感谢您

4

1 回答 1

0

看起来几乎正确。尝试更换

<Namespace_Mylocalmodule  before="Namespace_Mycommunitymodule">Namespace_Mylocalmodule_Mycommunitymodule</Namespace_Mylocalmodule>

经过

<Namespace_Mylocalmodule  before="Namespace_Mycommunitymodule">Namespace_Mylocalmodule</Namespace_Mylocalmodule>

如果需要,将Namespace_Mylocalmodule_IndexController 的类名Namespace_Mylocalmodule_Mycommunitymodule_IndexController作为其文件名和文件夹。

于 2014-01-11T20:11:20.077 回答