Оборачивание каждого символа в тег — различия между версиями
Материал из Umicms
Whoa (обсуждение | вклад) |
Whoa (обсуждение | вклад) |
||
Строка 3: | Строка 3: | ||
'''Актуально для версии 18 и xslt-шаблонизатора.''' | '''Актуально для версии 18 и xslt-шаблонизатора.''' | ||
− | Часто бывает нужно обернуть каждую цифру числа в какой-нибудь тег, например для анимации | + | Часто бывает нужно обернуть каждую цифру числа в какой-нибудь тег, например, для анимации различных счетчиков. |
Сделать такое можно с помощью рекурсивного вызова внутри шаблона. Ниже пример реализации на XSLT: | Сделать такое можно с помощью рекурсивного вызова внутри шаблона. Ниже пример реализации на XSLT: | ||
Строка 19: | Строка 19: | ||
</source> | </source> | ||
− | Тег span можно заменить на любой другой тег | + | Тег span можно заменить на любой другой нужный тег. |
[[category:Верстка в XSLT]] | [[category:Верстка в XSLT]] |
Текущая версия на 10:45, 13 июня 2018
Статья предоставлена партнером UMI.CMS Шириевым Артуром
Актуально для версии 18 и xslt-шаблонизатора.
Часто бывает нужно обернуть каждую цифру числа в какой-нибудь тег, например, для анимации различных счетчиков.
Сделать такое можно с помощью рекурсивного вызова внутри шаблона. Ниже пример реализации на XSLT:
<xsl:template name="wrap-each-character">
<xsl:param name="string"/>
<xsl:if test="string-length($string) > 0">
<span><xsl:value-of select="substring($string,1,1)"/></span>
<xsl:call-template name="wrap-each-character">
<xsl:with-param name="string" select="substring($string,2)"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
Тег span можно заменить на любой другой нужный тег.