我有一个扩展,它会覆盖getSkinUrl()并拦截通过它的图像,进行更改,然后继续。这适用于PHTML文件中引用的任何图像。
但是,这不会捕获CMS块中的图像。在CMS块中,我正在使用
{{skin url="images/your_amazing_image.gif"}}
答案 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
方法与覆盖的方法相同。