使用local.xml隐藏类别菜单

时间:2013-11-10 16:20:14

标签: magento menu categories

如何在所选页面上隐藏类别/菜单栏,例如登录和放大使用local.xml注册? 我正在使用magento 1.7.0.2

2 个答案:

答案 0 :(得分:1)

您需要为登录和注册页面处理程序删除名为“catalog.topnav”的块。页面处理程序类似于页面URL,但所有斜杠都替换为“_”。对于登录页面,它将是* customer_account_login *和注册页面 - * customer_account_create *。你可以使用

<remove name="[blockname]"> 

<action method="unsetChild"><block>[blockname]</block></action>

说明,首先允许您全局删除块,第二个从某个块中删除它。

默认magento主题的布局更新如下所示:

<?xml version="1.0"?>
<layout version="0.1.0">
    <customer_account_login>
         <remove name="catalog.topnav" />
    </customer_account_login>
    <customer_account_create>
         <remove name="catalog.topnav" />
    </customer_account_create>
</layout>

有关Magento布局的一些解释可能很有用 - http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-4-magento-layouts-blocks-and-templates

答案 1 :(得分:0)

删除节点将在合并所有布局句柄后处理,并且无论哪个布局句柄加载块,都是删除块的好方法;你只是想完全摆脱一些手柄!它也会递归删除,因此您需要指定的是布局句柄。

另一方面,您可能只想从特定布局句柄中的引用中删除块,在这种情况下,您应该使用unsetChild。它通常用于从引用中删除块,但随后重新插入具有不同位置的相同块。删除时无法做到这一点。