如何定位类别管理页面中定义的静态块?

时间:2014-02-27 17:22:16

标签: magento static-block

在显示设置下的类别管理员中,我已分配了一个静态块。这显示正常,但我需要在页面下方进一步定位。我一直在寻找像通用 getChildHtml 这样的回调,但是对于块来说。

我还在想我通常使用的静态块代码可以从

更改
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId('block-name')->toHtml();?>

这样的事情

<?php echo $this->getLayout()->createBlock('cms/block')->toHtml();?>

但唉它没用。我可以使用local.xml文件,但我不确定如何定位它。

有点卡住,所以任何帮助都会非常感激

1 个答案:

答案 0 :(得分:0)

我想出了一个解决方法。它并不理想,但它正在发挥作用。我没有在类别页面中使用静态块选项,而是将静态块添加到list.phtml模板中。然后我创建一个变量来获取当前的类别名称并将其附加到字符串。

<?php $blockid = 'category_banner_' . preg_replace('/\s+/', '', strtolower(Mage::registry('current_category')->getName())); ?>

然后我可以使用标准静态块调用

来调用它
<?php echo $this->getLayout()->createBlock('cms/block')->setBlockId($blockid)->toHtml();?>

最后要做的是制作静态块,只要它名为 category_banner_CATEGORYNAME ,它就可以正常工作。

正如我所说,这是一种解决方法,但对于我的生活,我无法弄清楚如何重新定位管理员中的一套。

如果有人能提出更好的解决方案,我将永远感激