我正在尝试扩展Mage_Cms_IndexController
控制器但没有发生任何事情。我的代码位于app/code/local/Ash/Test
。
代码app/code/local/Ash/Test/etc/config.xml
<frontend>
<routers>
<ash_test>
<use>standard</use>
<args>
<module>Ash_Test</module>
<frontName>ash_test</frontName>
</args>
</ash_test>
<cms>
<args>
<modules>
<Ash_Test before="Mage_Cms">
Ash_Test_Frontend_Cms
</Ash_Test>
</modules>
</args>
</cms>
</routers>
</frontend>
我模块中的控制器位置是
app/code/local/Ash/Test/controllers/Frontend/Cms/IndexController
和代码是
require_once Mage::getModuleDir('controllers', 'Mage_Cms').DS.'IndexController.php';
class Ash_Test_Frontend_Cms_IndexController extends Mage_Cms_IndexController
{
public function indexAction($coreRoute = null)
{
echo __FILE__;
}
}
我没有弄错它。请帮忙!
答案 0 :(得分:3)
删除以下代码周围的空白区域
<Ash_Test before="Mage_Cms">
Ash_Test_Frontend_Cms
</Ash_Test>
应该如下,
<Ash_Test before="Mage_Cms">Ash_Test_Frontend_Cms</Ash_Test>
刷新缓存然后检查。它应该工作。
您的控制器名称周围不能有任何空格 config.xml中。 Magento默默无法接受你的覆盖和 只需使用核心控制器。