在我的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页面的design选项卡中,我已经在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>发布于 2014-09-03 04:51:30
尝试在布局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) ?>希望能帮上忙。
发布于 2014-09-02 17:33:45
检查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
}发布于 2018-02-19 15:17:35
系统菜单“-> Configuration”->“高级”按钮位于左侧的“高级”部分。->查找Mage_Newsletter下拉菜单以禁用->单击保存
来自Module
https://stackoverflow.com/questions/25627388
复制相似问题