Как связать URL-адрес внутри них из файла правил Diazo?

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

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

1 ответ

Решение

Вы можете создать параметры 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>
Другие вопросы по тегам