1

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

我的配置文件如下 app/code/local/Test/Test/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 中的 Test_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";
?>

我已将以下网址称为 url 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 not found 1”页面。请帮我解决这个问题。提前致谢..

4

2 回答 2

5

多个问题。

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

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

于 2013-11-05T08:15:24.497 回答
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

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

于 2013-11-20T13:48:24.807 回答