不同类别的页面应显示不同的页脚,这是背后的想法。 我知道有很多类似的问题,我尝试了所有问题,但它们没有用。 我已将自定义类别属性添加到类别页面,我想在页脚中看到它。
我试图使用:
<?php if($_customAttribute = $this->getCurrentCategory()->getCustomAttribute()): ?>
<?php echo $_helper->categoryAttribute($_category, $_customAttribute, 'footer_text') ?>
但我没有得到任何结果。
答案 0 :(得分:1)
你可以这样试试。
$category = Mage::registry('current_category');
<?php if ($category->getFooterText()) : ?>
<?php echo Mage::helper('catalog/output')->categoryAttribute($category, $category->getFooterText(), 'footer_text');?>
<?php endif;?>
但请记住......如果你在footer.phtml中添加它,它将无法使用块缓存。页脚被缓存,因此一旦您加载页面,上面的代码将对下一页没有影响
的 [编辑] 强>
如果要在某些页面上使用不同的页脚,则需要修改页脚块的缓存键。有关如何执行此操作的解释in here但它适用于简单页面而非类别。概念是一样的。
您需要做的是仅更改getCacheKeyInfo
方法以依赖于类别。像这样:
public function getCacheKeyInfo()
{
$info = parent::getCacheKeyInfo();
$category = Mage::registry('current_category');
if ($category) {
$info[] = $category->getId();
}
return $info;
}