我想从本地模块覆盖“社区”控制器“。我发现了很多关于覆盖核心控制器但没有关于社区控制器的教程。
Magento版本:1.6.1
我目前的状态是: - 覆盖核心控制器=>好 - 覆盖社区控制器=> 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é");
}
}
提前谢谢
答案 0 :(得分:0)
看起来几乎正确。 尝试替换
<Namespace_Mylocalmodule before="Namespace_Mycommunitymodule">Namespace_Mylocalmodule_Mycommunitymodule</Namespace_Mylocalmodule>
通过
<Namespace_Mylocalmodule before="Namespace_Mycommunitymodule">Namespace_Mylocalmodule</Namespace_Mylocalmodule>
和类名 Namespace_Mylocalmodule_Mycommunitymodule_IndexController 由 Namespace_Mylocalmodule_IndexController 作为其文件名和文件夹(如果需要)。