0

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

4

2 回答 2

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

于 2013-11-10T17:50:24.023 回答
0

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

另一方面,您可能只想从特定布局句柄中的引用中删除一个块,在这种情况下您应该使用 unsetChild。它通常用于从参考中删除一个块,然后重新插入具有不同位置的相同块。删除是不可能的。

于 2013-11-11T07:09:16.883 回答