无法在我的自定义模块Magento中扩展Mage_Cms_IndexController

时间:2015-04-09 07:55:46

标签: magento

我正在尝试扩展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__;

    }
}

我没有弄错它。请帮忙!

1 个答案:

答案 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默默无法接受你的覆盖和   只需使用核心控制器。