任何可以帮助我的人?
我有一个产品模板,其中显示了自定义标题图像。它的工作原理如下: 当我添加一个带有pagename的静态块然后在其后面添加-header时,会在页面上显示该静态块(标识符)。此块不存在,然后它显示默认标头静态块。
需要做的是获取主类别名称(-header)并将其放在我加载default-header(标识符)的自定义1column-product.phtml模板中。
第77行:
// GET DEFAULT HEADER
echo Mage::getModel(‘cms/block’)-> load(‘default-header’)-> getContent();
'default-header'需要为'categoryname-header'
我不认为这很难,但我不是编码员:(
总代码:
<header>
<?php echo $this->getChildHtml('header') ?>
<section id="subtop" class="clearfix">
<div class="slideContainer clearfix">
<?php
if ($this->getUrl('') == $this->getUrl('*/*/*', array('_current'=>true, '_use_rewrite'=>true)) ) {
// HOMEPAGE IS TRUE
$cmsBlock = Mage::getModel('cms/block')->load('flexslider')->getContent();
if($cmsBlock) {
echo $cmsBlock;
}
}else{
echo '<div class="pghead clearfix ABC">';
if(Mage::getModel('cms/block')->load('default-header')->getContent()){
// GET DEFAULT HEADER
echo Mage::getModel('cms/block')->load('default-header')->getContent();
}
// promotion banner
echo '</div>';
if(Mage::getModel('cms/block')->load('promotion')->getContent()){ ?>
<div class="promotion">
<div class="container">
<?=Mage::getModel('cms/block')->load('promotion')->getContent(); ?>
</div>
</div>
<? } // promotion banner
} //Flexslider ?>
</div><!-- slidecontainer -->
答案 0 :(得分:0)
//if you are in category or product page
$currentCategory = Mage::registry('current_category');
//or load category if you are in pages other than product or category page
// $currentCategory = Mage::getModel('catalog/category')->load(12);
$blockName = $currentCategory->getName().'-header';
echo Mage::getModel(‘cms/block’)-> load($blockName)-> getContent();
如果您在产品或类别页面中,则可以使用Magento注册表加载当前类别。如果它在其他页面中,那么您需要通过其他方式加载类别。