Вывод уменьшенного изображения картинки на XSLT — различия между версиями
Nasty (обсуждение | вклад) (Новая страница: «== Задача == Вывести уменьшенную картинку. Аналогично макросу %system makeThumbnail()% в tpl-шаблонах. Ра…») |
Mad grant (обсуждение | вклад) |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 14: | Строка 14: | ||
3. Теперь выведем картинку. | 3. Теперь выведем картинку. | ||
− | <img src="''' | + | <img src="'''httр://localhost'''{$test2}"/> |
− | В данном случае | + | В данном случае httр://localhost - это домен, в Вашей системе должен быть адрес Вашего сайта. |
== Итог == | == Итог == | ||
Строка 21: | Строка 21: | ||
<xsl:variable name="test1" select="document('upage://47.photo)/udata/property/value" /> | <xsl:variable name="test1" select="document('upage://47.photo)/udata/property/value" /> | ||
<xsl:variable name="test2" select="document(concat('udata://system/makeThumbnail/(.', $test1, ')/(auto)/103'))/udata/src"/> | <xsl:variable name="test2" select="document(concat('udata://system/makeThumbnail/(.', $test1, ')/(auto)/103'))/udata/src"/> | ||
− | <img src=" | + | <img src="httр://localhost{$test2}"/> |
+ | [[Категория:Верстка в XSLT]] |
Текущая версия на 19:55, 4 июня 2013
Задача
Вывести уменьшенную картинку. Аналогично макросу %system makeThumbnail()% в tpl-шаблонах. Рассмотрим пример на
Решение
При решении данной проблемы используем переменные.
1. На первом шаге извлечём в переменную test1 адрес картинки нормального размера из поля "Фотография" в объекте каталога.
<xsl:variable name="test1" select="document('upage://47.photo')/udata/property/value" />
В данном случае 47 - это id объекта каталога, вместо этого может быть например переменный элемент @id. В данном случае надо будет использовать функцию concat(), которая позволяет объединить статичные и переменные элементы. Photo в данном случае это идентификатор поля в котором введён адрес картинки.
2. На втором шаге используем метод makeThumbnail для получания адреса уменьшенной картинки. Этот адрес запишем в переменную test2.
<xsl:variable name="test2" select="document(concat('udata://system/makeThumbnail/(.', $test1, ')/(auto)/103'))/udata/src"/>
В данном случае auto - обозначает автоматический расчёт ширины в пропорции к высоте. 103 - высота картинки в пикселях.
3. Теперь выведем картинку.
<img src="httр://localhost{$test2}"/>
В данном случае httр://localhost - это домен, в Вашей системе должен быть адрес Вашего сайта.
Итог
<xsl:variable name="test1" select="document('upage://47.photo)/udata/property/value" /> <xsl:variable name="test2" select="document(concat('udata://system/makeThumbnail/(.', $test1, ')/(auto)/103'))/udata/src"/> <img src="httр://localhost{$test2}"/>