XSLT шаблоны для всех типов баннеров

Материал из Umicms
Перейти к:навигация, поиск

Создаем расположение в шаблоне Баннер слева, banner_left. Создаем баннер с картинкой в панели управления UMI.CMS, Модуль Баннеры. И назначаем ему расположение в шаблоне: banner_left.

Создаем шаблон для вывода кода баннера banners.xsl в папке /xsltTpls/imports/

В него прописываем код (на примере добавления баннера с изображением)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet  [
	<!ENTITY nbsp "&#160;">
	<!ENTITY middot "&#183;">
	<!ENTITY copy "&#169;">
]>

<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" />