在我的magento商店中,我在我的页脚中有最近查看的产品块和简报注册块,如下所示,所有工作正常:
footer.phtml
<?php echo $this->getLayout()->createBlock('reports/product_viewed')->setTemplate('reports/product_viewed.phtml')->toHtml(); ?>
<?php echo $this->getChildHtml('footer.newsletter') ?>
在我的一个CMS页面上,我想要隐藏这两个块。在我的CMS页面的设计管理标签中,我已经在Custom Layout Update XML
部分隐藏了下面的面包屑,再次正常工作:
<reference name="root">
<remove name="breadcrumbs" />
</reference>
我似乎无法提出正确的代码来删除这些块。我为每个块尝试了几行代码:
<reference name="footer">
<remove name="reports.product.viewed" />
</reference>
<reference name="root">
<remove name="footer.reports.product.viewed" />
</reference>
<reference name="footer">
<action method="unsetChild"><alias>reports.product.viewed</alias></action>
</reference>
答案 0 :(得分:1)
尝试在布局XML文件中使用以下代码
<cms_page>
<reference name="footer">
<remove name="footer-product-viewed" />
<remove name="your_footer_newsletter_block_name" />
</reference>
</cms_page>
footer.phtml
<?php echo $this->getLayout()->createBlock('reports/product_viewed', 'footer-product-viewed')->setTemplate('reports/product_viewed.phtml')->toHtml(); ?>
<?php echo $this->getChildHtml('footer.newsletter') ?>
如果仍然没有删除您的页脚新闻稿块,请尝试传递false
参数,这将不允许该块从缓存中呈现。
<?php echo $this->getChildHtml('footer.newsletter', false) ?>
希望它有所帮助。
答案 1 :(得分:0)
检查CMS页面是否:
$page = Mage::getSingleton('cms/page');
if ($page->getId()) {
}
else{
<?php echo $this->getLayout()->createBlock('reports/product_viewed')->setTemplate('reports/product_viewed.phtml')->toHtml(); ?>
<?php echo $this->getChildHtml('footer.newsletter') ?>
}
或强>
if(Mage::app()->getFrontController()->getRequest()->getRouteName() == 'cms')
{
// CMS page
}
else{
// your code
}
答案 2 :(得分:0)
系统菜单 - &gt;配置 - &gt;左侧“高级”部分下的“高级”按钮。 - &GT;找到Mage_Newsletter下拉菜单以禁用 - &gt;单击“保存”
来自https://briansnelson.com/How_to_Disable_Magento_Newsletter_Module