如何使用local.xml隐藏所选页面上的类别/菜单栏,例如登录和注册?我正在使用magento 1.7.0.2
删除节点将在合并所有布局句柄后处理,并且无论哪个布局句柄加载块,都是删除块的好方法;你只是想完全摆脱一些手柄!它也会递归删除,因此您需要指定的是布局句柄 .
另一方面,您可能只想从特定布局句柄中的引用中删除块,在这种情况下,您应该使用unsetChild . 它通常用于从引用中删除块,但随后重新插入具有不同位置的相同块 . 删除时无法做到这一点 .
您需要删除名为“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
2 回答
删除节点将在合并所有布局句柄后处理,并且无论哪个布局句柄加载块,都是删除块的好方法;你只是想完全摆脱一些手柄!它也会递归删除,因此您需要指定的是布局句柄 .
另一方面,您可能只想从特定布局句柄中的引用中删除块,在这种情况下,您应该使用unsetChild . 它通常用于从引用中删除块,但随后重新插入具有不同位置的相同块 . 删除时无法做到这一点 .
您需要删除名为“catalog.topnav”的块以用于登录和注册页面处理程序 . 页面处理程序类似于页面URL,但所有斜杠都替换为“_” . 对于登录页面,它将是* customer_account_login *和注册页面 - * customer_account_create * . 您可以使用
要么
说明,首先允许您全局删除块,第二个从某个块中删除它 .
默认magento主题的布局更新如下所示:
有关Magento布局的一些解释可能很有用 - http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-4-magento-layouts-blocks-and-templates