如何隐藏所选页面上的类别/菜单栏,例如使用 local.xml 登录和注册?我正在使用 magento 1.7.0.2
问问题
966 次
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 回答