我刚开始学习magento。我在这里找到了一个示例helloworld模块代码:
http://www.engineer-ing.com/writing-magento-extension-part1/part2
我使用的控制器代码是:
//app/code/local/Magentotutorial/Helloworld/controllers/IndexController.php
class Magentotutorial_Helloworld_IndexController extends Mage_Core_Controller_Front_Action {
public function indexAction() {
$this->loadLayout();
$this->renderLayout();
echo 'Hello Index!';
}
config.xml代码:
//app/code/local/Magentotutorial/Helloworld/etc/config.xml
<config>
<modules>
<Magentotutorial_Helloworld>
<version>0.1.0</version>
</Magentotutorial_Helloworld>
</modules>
<frontend>
<routers>
<helloworld>
<use>standard</use>
<args>
<module>Magentotutorial_Helloworld</module>
<frontName>helloworld</frontName>
</args>
</helloworld>
</routers>
<layout>
<updates>
<helloworld>
<file>helloworld.xml</file>
</helloworld>
</updates>
</layout>
</frontend>
</config>
helloworld.xml代码
//app/design/frontend/default/default/layout/helloworld.xml
<?xml version="1.0"?>
<layout version="0.1.0">
<helloworld_index_index>
<default>
<reference name="content">
<block type="page/html" name="helloworld" output="toHtml" template="helloworld/helloworld.phtml"/>
</reference>
</default>
</helloworld_index_index>
</layout>
HelloWorld.php
class Magentotutorial_HelloWorld_Block_HelloWorld extends Mage_Core_Block_Template
{
public function getContent()
{
return ‘informations about my block !!’ ;
}
}
在helloworld.phtml中的我只需输入一个字符串,如“你们所有人的世界”。
它没有向我显示任何错误。但是页面上没有显示任何内容。
我不知道我在哪里做错了。有人帮我解决显示页面的问题
答案 0 :(得分:2)
布局XML中的错误。你不需要<default>
节点见下文
<?xml version="1.0"?>
<layout version="0.1.0">
<helloworld_index_index>
<reference name="content">
<block type="page/html" name="helloworld" output="toHtml" template="helloworld/helloworld.phtml"/>
</reference>
</helloworld_index_index>
</layout>
关于阻止,我不确定你的构造是否会起作用,如果没有,请尝试将其替换为:
<block type="core/template" name="helloworld" template="helloworld/helloworld.phtml"/>
你忘记了config.xml中的声明块,见下文:
<global>
<blocks>
<helloworld>
<class>Magentotutorial_HelloWorld_Block</class>
</helloworld>
</blocks>
</global>
之后你可以使用下一个块声明:
<block type="helloworld/helloworld" name="helloworld" template="helloworld/helloworld.phtml"/>
希望这会有所帮助