XSLT шаблоны для всех типов баннеров
Материал из Umicms
Версия от 06:18, 22 апреля 2014; Stexe (обсуждение | вклад) (переименовал «Как добавить баннер в xslt-шаблон» в «XSLT шаблоны для всех типов баннеров»)
Создаем расположение в шаблоне Баннер слева, banner_left. Создаем баннер с картинкой в панели управления UMI.CMS, Модуль Баннеры. И назначаем ему расположение в шаблоне: banner_left.
Создаем шаблон для вывода кода баннера banners.xsl в папке /xsltTpls/imports/
В него прописываем код (на примере добавления баннера с изображением)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet [
<!ENTITY nbsp " ">
<!ENTITY middot "·">
<!ENTITY copy "©">
]>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:php="http://php.net/xsl"
xmlns:udt="http://umi-cms.ru/2007/UData/templates"
xmlns:umi="http://www.umi-cms.ru/TR/umi"
extension-element-prefixes="php"
exclude-result-prefixes="xsl php udt">
<xsl:template match="banner[@type='image']" >
<xsl:variable name="banner-url" select="concat('/banners/go_to/', ../@id, '/')" />
<div class="top_banner">
<a href="{$banner-url}" title="{./alt}">
<xsl:if test="./@target">
<xsl:attribute name="target">
<xsl:value-of select="./@target" />
</xsl:attribute>
</xsl:if>
<img src="{./source}" alt="{./alt}" width="{./@width}" height="{./@height}" />
</a>
</div>
</xsl:template>
</xsl:stylesheet>
Добавляем импорт этого файла в шаблон страницы:
<xsl:import href="imports/banners.xsl" />
И в нужном месте выводим сам баннер:
<xsl:apply-templates select="document('udata://banners/insert/banner_left/')/udata/banner" />