将自定义类别属性添加到前端。

时间:2013-08-09 06:49:41

标签: magento magento-1.7

不同类别的页面应显示不同的页脚,这是背后的想法。 我知道有很多类似的问题,我尝试了所有问题,但它们没有用。 我已将自定义类别属性添加到类别页面,我想在页脚中看到它。

我试图使用:

<?php if($_customAttribute = $this->getCurrentCategory()->getCustomAttribute()):  ?>

<?php echo $_helper->categoryAttribute($_category, $_customAttribute, 'footer_text') ?> 

但我没有得到任何结果。

1 个答案:

答案 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;
}