如何拦截"来自Magento静态cms块的站点图像

时间:2013-10-01 15:07:49

标签: magento

我有一个扩展,它会覆盖getSkinUrl()并拦截通过它的图像,进行更改,然后继续。这适用于PHTML文件中引用的任何图像。

但是,这不会捕获CMS块中的图像。在CMS块中,我正在使用

{{skin url="images/your_amazing_image.gif"}}

1 个答案:

答案 0 :(得分:1)

Magento的模板变量在以下文件中定义。

app/code/core/Mage/Core/Email/Template/Filter.php

对于{{skin}}变量,line 264 in filter.php

周围使用以下代码
public function skinDirective($construction)
{
    $params = $this->_getIncludeParameters($construction[2]);
    $params['_absolute'] = $this->_useAbsoluteLinks;

    $url = Mage::getDesign()->getSkinUrl($params['url'], $params);

    return $url;
}

我不确定你是如何覆盖getSkinUrl,但要确保getSkinUrl方法与覆盖的方法相同。