如何在所选页面上隐藏类别/菜单栏,例如登录和放大使用local.xml注册? 我正在使用magento 1.7.0.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。它通常用于从引用中删除块,但随后重新插入具有不同位置的相同块。删除时无法做到这一点。