2015-07-26 5 views
1

Если URL-адрес изображения установлен в HTML-шаблоне, URL-адрес обновляется для ссылки на файлы внутри папки темы. Например,Как связать URL-адрес внутри них из файла правил Diazo?

<img src="image.png" /> 

заменяется:

<img src="http://localhost:8080/mysite/++theme++mytheme-theme/image.png" /> 

Однако, если я пишу следующее правило ДИАЗО:

<replace css:content="#some-class"> 
    <div id="#some-class"><img src="image.png" /></div> 
</replace> 

URL-адрес изображения не обновляются. Как я могу написать правила Diazo, где изображение правильно передается. Я хочу передать это изображение в файл HTML шаблона с <img src="path/image.png">. Однако непонятно, что поставить вместо пути. Я замечаю, что путь не может быть абсолютным путем, потому что он зависит от домена сайта. Кроме того, это не может быть относительный путь, потому что он зависит от пути каждой страницы на сайте. Может быть, было бы полезно иметь определенное ключевое слово для ссылки на папку темы. Например, <img src="$themeFolder/image.png">. Существует такое ключевое слово?

ответ

4

Вы можете создать параметры XSLT в файле manifest.cfg вашей темы. Просто добавьте строфу как:

[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>