我创建了一个超级菜单组。但我坚持把它与档案联系起来。
所有我能看到的形式是默认的
<block type="core/text_list" name="megamenu_left" as="megamenu_left" translate="label">
<label>Left Megamenu</label>
</block>
在主页(后端&gt;设计部分)中:
<reference name="megamenu_left">
<block type="megamenu/list" name="megamenu.list.theme" as="megaMenuLeft" template="sm/megamenu/megamenu-left.phtml">
<action method="setConfig">
<values>
<group_id>2</group_id>
<theme>2</theme>
</values>
</action>
</block>
</reference>
在主页前视图中:
<?php echo $this->getChildHtml('megamenu_left') ?>
我没有得到的是 name =&#34; megamenu.list.theme&#34; 以及它是如何呈现的。
EDITED
&#39; megamenu_left&#39;从上面的xml链接到我在后端创建的菜单组。我在后端创建的菜单组只有一个名称,并且启用/禁用&#39;选项。
答案 0 :(得分:1)
我不确定我是否正确理解了这个问题,但第二个XML位将查找第一个XML部分中找到的引用“megamenu_left”,并在该位置插入块。
块本身在布局中具有全名“megamenu.list.theme”,可选的短名称为“megaMenuLeft”。它将呈现模板文件“sm / megamenu / megamenu-left.phtml”,它将位于活动主题文件夹中,例如“app / design / frontend / theme /..".
模板将使用模块“megamenu / Block / List.php”中的PHP块,因此任何$ this-&gt; functionName()调用或从函数内访问的变量都来自该块。
首页将从XML的第一部分按名称加载块,这反过来将从第二部分XML获取内容,因为它是一个引用,这意味着它将自己插入到第一个XML中。