我是magento的新学习者,我在模板xml文件中看到一些像下面这样的代码。
<reference name="top.menu">
<block type="catalog/navigation" name="catalog.topnav" template="catalog/navigation/top.phtml"/>
</reference>
在引用和块部分中name部分的含义是什么?它们之间有什么不同吗?block部分中的type部分是什么意思?如果我想使用自己的类型和名称,怎么做呢?它们有什么用?谢谢你。
Name是以后调用它的方式。你可以在html中调用你的block来渲染它:
echo $this->getChildHtml('yourname');
你也可以在reference中使用这个名字,如果你想在另一个布局中改变这个块,你可以通过它的名字
来引用这个布局。<reference name="yourname">
YOUR CHANGES HERE
</reference>
正如您可能已经理解的,reference是您的更改将影响的块的名称。例如,如果在结帐中我想更改名为"right"的块,以添加一个内部块:
<checkout_cart_index>
<reference name="right">
<block type="core/template" name="yourname" template="yourtemplate.phtml" />
</reference>
</checkout_cart_index>
最后,类型,它是块文件的路径(模块在其块目录下的php文件)。
示例type="catalog/navigation"指的是app/code/core/Mage/Catalog
/Block/Navigation
.php,名称是module/path_to_block示例如果navigation .php文件位于子文件夹Menu中,则type="catalog/menu_navigation"