自定义模块路由在magento中不起作用

时间:2013-11-05 07:01:56

标签: php xml magento

我是magento的初学者。我添加了一个自定义模块,并为该自定义模块进行了路由。但它根本没有显示任何内容,显示空白页面!甚至没有找到页面消息。 这是我的代码..

我的配置文件如下 应用程序/代码/本地/测试/测试的/ etc / config.xml中

<config>
<modules>
    <Test_Test>
        <version>0.7.1</version>
    </Test_Test>
</modules>
<frontend>
    <routers>
        <test>
            <use>standard</use>
            <args>
                <module>Test_Test</module>
                <frontName>test</frontName>
            </args>
        </test>
    </routers>
<layout>
    <updates>
        <test>
            <file>test.xml</file>
        </test>
    </updates>
</layout>
</frontend>

app / etc / modules / Test_Test.xml中的T​​est_Test.xml文件

<config>
    <modules>
        <Test_Test>
            <active>true</active>
            <codePool>local</codePool>
        </Test_Test>
    </modules>
</config>

app / code / local / Test / Test / controllers / IndexAction.php中的IndexController.php文件

<?php
        class Test_Test_IndexController extends Mage_Core_Controller_Front_Action
    {
        public function indexAction()
        {
            $this->getLayout();
            $this->renderLayout();
        }
    }

app / design / frontend / default / default / layout / test.xml

中的test.xml文件
<layout version="0.7.0">
    <test_index_index>
        <reference name="root">
            <action method="setTemplate">
                <template>page/1column.phtml</template>
            </action>
        </reference>
        <reference name="content">
            <block type="test/view" name="test_index_view" template="test/view.phtml" />
        </reference>
     </test_index_index>
</layout>

app / design / frontend / default / default / template / test / view.phtml中的view.phtml文件

<?php 
    echo "test test test test";
?>

我已拨打以下网址 网址1:

http://localhost:8888/magento/index.php/test/index/index

网址2:

http://localhost:8888/magento/index.php/test/index

网址3:

http://localhost:8888/magento/index.php/test

网址4:

http://localhost:8888/magento/test

所有这些都显示一个空白页面。甚至没有显示'404未找到1'页面。请帮我解决问题。提前谢谢..

2 个答案:

答案 0 :(得分:5)

多个问题。

  • 您的etc/config.xml文件缺少结束</config>标记。
  • 您将控制器文件命名为IndexAction.php。必须是IndexController.php
  • 您的indexAction应使用$this->loadLayout()->renderLayout();
  • 您的layout/test.xml使用未定义的块test/view。立即使用page/html

解决这些问题后,我可以在裸体1.7.0.2上看到view.phtml的示例输出。

答案 1 :(得分:1)

我在Magento 1.7.0.2中遇到类似的路由问题,尽管所有模块路由链都是正确的(多次检查拼写错误或缺少元素,在不同模块上检查,清除缓存(也在var文件夹中)。

在谷歌搜索了几个小时并且尝试了所有可能的解决方案之后,Magento 1.7.0.2(而不是1.7)中的自定义路由似乎存在问题。

特别是前三个代码块上的模式。但是,如果它对您有帮助,您可以尝试:

http://www.pierrefay.com/magento-create-controller-36(特别是评论中的讨论)

http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-3-magento-controller-dispatch

希望它有所帮助,如果您对此问题感到满意,请告诉我们。