如何链接magento中的菜单组(通过块/ .phtml文件)

时间:2014-09-25 08:27:24

标签: magento

我创建了一个超级菜单组。但我坚持把它与档案联系起来。

所有我能看到的形式是默认的

<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;选项。

1 个答案:

答案 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中。