如果在HTML模板中设置了图像的URL,则会更新URL以引用主题文件夹中的文件。例如,
<img src="image.png" />
替换为:
<img src="http://localhost:8080/mysite/++theme++mytheme-theme/image.png" />
但是,如果我按照Diazo规则编写:
<replace css:content="#some-class">
<div id="#some-class"><img src="image.png" /></div>
</replace>
图片的网址未更新。如何在正确引用图像的地方编写重氮规则。我想在模板HTML文件中使用<img src="path/image.png">
引用此图像。然而,目前尚不清楚要放什么而不是路径。我注意到路径不能是绝对路径,因为它取决于站点域。此外,它不能是相对路径,因为它取决于站点中每个页面的路径。可能有一个特定的关键字来引用主题文件夹会很有用。例如,<img src="$themeFolder/image.png">
。存在这样的关键字?
答案 0 :(得分:4)
您可以在主题的manifest.cfg文件中创建XSLT参数。只需添加一个节:
[theme:parameters]
theme_base_url = string:${portal_state/portal_url}/++theme++mytheme-theme/
然后您可以在规则文件中使用它:
<replace css:content="#some-class">
<div id="#some-class">
<img><xsl:attribute name="src"><xsl:value-of select='$theme_base_url' />image.png</xsl:attribute></img>
</div>
</replace>