Magento-当php BodyClass==‘;不管怎样’;
在我的2col-inside.phtml文件中,我可以使用以下方法成功调用块:Magento-当php BodyClass==‘;不管怎样’;,php,magento,Php,Magento,在我的2col-inside.phtml文件中,我可以使用以下方法成功调用块: 但是,我希望基于URI或body类提供一个独特的横幅。比如: <?php if($bodyClass['category-blue']): ?> <?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('blue-banner')->toHtml() ?> <?php elsei
但是,我希望基于URI或body类提供一个独特的横幅。比如:
<?php if($bodyClass['category-blue']): ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('blue-banner')->toHtml() ?>
<?php elseif($bodyClass['category-red']): ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('red-banner')->toHtml() ?>
<?php else($bodyClass['category-yellow']): ?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('yellow-banner')->toHtml() ?>
<?php endif;?>
将BlockId设置为页面url也会起作用(我只需要返回并重命名所有块以完全匹配页面url),但我也不知道如何仅提取页面url
有什么建议吗 不太好,但如果将静态块命名为与页面名称相同的名称,则此操作有效:
<?php $_base_url = $this->helper('core/url')->getHomeUrl();
$class = str_replace($_base_url, '', $this->helper('core/url')->getCurrentUrl());
$pagetitle = str_replace('.html', '', $class);
$page = str_replace('industries/', '', $pagetitle);
?>
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId($page)->toHtml() ?>
在您的
应用程序/design/frontend/default//catalog/catalog/category/view中尝试此操作。phtml
:
$cat_name = $this->getCurrentCategory()->getName();
$block_name = $cat_name.'-banner';
echo $this->getLayout()->createBlock('cms/block')->setBlockId($block_name)->toHtml();
在那里抛出一些if
语句来检查空值,您应该离开
干杯,
JD在您的
2col-inside.phtml
中,将此添加到您想要的横幅处
<?php echo $this->getChildHtml('banner_block') ?>
…根据需要更改
块id
。同样也可以在产品和CMS页面上完成。如果页面未使用.phtml内的2cols
模板,则不会发生任何更改。您甚至不需要执行任何开发来在特定类别页面或任何基于cms或布局的页面上显示静态块。使用Magento的Widgets功能
希望它能帮助您解决您的问题,而无需任何开发:)这些是否仅用于分类页面?如果是这样,“蓝色类别”是否指称为“蓝色”的特定类别?是的,这些是类别页面。我最终使用了下面的代码。。。对于这个问题,是否有特定于类别的解决方案?我的方法是老式的(几个月前!),Ivan的widget方法要好得多。除非横幅的位置不合适,否则请使用该选项。
<reference name="content">
<block type="cms/block" name="banner_block">
<action method="setBlockId"><block_id>blue_banner</block_id></action>
</block>
</reference>