Magento - {{...}}占位符被替换在哪里?

时间:2011-12-20 20:29:17

标签: php magento magento-1.5

我正在创建一些自定义块,我想支持 {{skin url =“...”}} 动态占位符功能Magento 里面布局更新XML。

实施例

<action method="setImageSrc">
    <name><![CDATA[{{skin url=images/banners/MyBanner.jpg}}]]></name>
</action>

在我的块类中,我抓住变量(即$this->getImageSrc()),构建HTML并输出它。不幸的是,它实际上输出了 {{skin url =“...”}} 。翻译在哪里执行?在输出之前,我可以通过我的HTML来清理它吗?如果是这样,怎么样?

注意:我已尝试使用和不使用CDATA以及URL周围是否有引号。什么都行不通......有些人比其他人更糟糕

1 个答案:

答案 0 :(得分:5)

感谢来自@clockworkgeek的信息,我已经想到了这个。这两个资源很好地解释了......除了如何使用它。

Magento CMS Syntax

How Do Template Tags Work

为了实际使用它,它非常简单。我只是在自定义块类中创建了自己的_toHtml()方法,如下所示:

public function _toHtml()
{
    $processor = Mage::getModel('core/email_template_filter');
    return $processor->filter(parent::_toHtml());
}