从特定页面中删除静态块(XML 更新)

我想从一个特定页面中删除一个在每个页面上调用的静态块。

目前在我的 header.phtml 我有这个代码......

<?php echo $this->getChildHtml('topMenu') ?>

这将显示我的 topmenu.phtml 文件的内容,其中包含以下代码...

<?php $_menu = $this->getHtml('level-top') ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('newnav')->toHtml() ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('further-menu')->toHtml() ?>

我想通过使用 XML 更新页面从显示在特定页面中删除静态块“进一步菜单”。

到目前为止,我已经尝试了许多方法,例如以下,但收效甚微。

<reference name="top.menu">
<block type="cms/block" name="further-menu">
<action method="unsetChild"><name>further-menu</name></action>
</block>
</reference>
stack overflow Removing a static block from a specific page (XML Update)
原文答案

答案:

作者头像

您可以使用从 xml 中删除任何块

<remove name="BLOCK NAME"/>
作者头像

看看@ Magento Store - Remove Block using Update XML

<reference name="top.menu">
   <remove name="further-menu"/>
</reference>

您可能希望启用开发人员模式以仔细检查您是否使用了正确的块

作者头像

转到 CMS 页面

打开您不想在其中显示块的页面转到显示选项卡,在布局更新 XML 框中添加以下代码。

<reference name="top.menu"> <remove name="further-menu"/> </reference>