首先,你应该定义布局手柄控制器:
像这样:
<modulename_name_index>
</modulename_name_index>
的,你应该定义要在其中显示:内容,左,右,另一块:
<modulename_name_index>
<reference name="content">
</reference name="content">
</modulename_name_index>
然后你定义块将被显示:
<modulename_name_index>
<reference name="content">
<block type="module/blockname" name="blockname" template="templatedir/templatefile.phtml"/>
</reference name="content">
</modulename_name_index>
其中module/blockname是块的名称。在示例文件中应该是这样的:
公司/ ModuleName/Block/Blockname.php。 你的config.xml也应该被正确定义,所以magento明白,使用'模块'的东西,它应该加载特别是你的类。 事情是这样的:
<global>
...
<blocks>
<module>
<class>Company_Module_Block</class>
</module>
</blocks>
...
</global>
更新1
如果你想简单地渲染一些内容,那么你可以使用Magento的默认块类:
core/template or Mage/Core/Block/Template
这是怎么了你的xml文件然后将看起来像:
<modulename_name_index>
<reference name="content">
<block type="core/template" name="blockname" template="templatedir/templatefile.phtml"/>
</reference name="content">
</modulename_name_index>
但如果你在一个.phtml文件像有:
$this->getSomethingSpecificValueForCurrentDisplay()
这是行不通的。另一方面,如果你的phtml中有非常简单的php,就像下面这样,你不需要你的自定义块。
<?php for(i = 0; i++; i< 10){ ?>
<?php echo "Hello mates" ?>
<?php } ?>
为什么我必须有Blockname.php文件,如果我只是想查看phtml文件?以及该块文件应该包含哪些内容。 – newbie