Логотип

Документация по макросам и шаблонам UMI.CMS

<?=$this->macros('banners', 'fastInsert', array('right_block'), 'banners/fastinsert') ?>

Пример вызова

udata://banners/fastInsert/(top_banner)

XML-ответ UData

Баннер-картинка или флеш-баннер:

<udata id="27275" module="banners" method="fastInsert" generation-time="0.022291">
  <banner 
    type="image" 
    width="150" 
    height="128" 
    target="_blank" 
    xlink:href="uobject://27275">
    <source>/images/cms/data/hamster_1.jpg</source>
    <alt>альтернативный текст</alt>
    <href>http://localhost/podderzhka/</href>
  </banner>
</udata>

Html-баннер:

<udata id="27275" module="banners" method="fastInsert" generation-time="0.024639">
  <banner type="html" xlink:href="uobject://27275">
    <source>содержимое html-баннера</source>
    <alt>альтернативный текст</alt>
    <href>http://localhost/podderzhka/</href>
  </banner>
</udata>

Элементы и атрибуты

Атрибут id элемента udata может быть использован для идентификации баннера.

<banner>

Элемент, описывающий баннер.

@type

Тип баннера: image, swf или html.

@width

Ширина картинки или флеш-ролика.

@height

Высота картинки или флеш-ролика.

@target

Значение атрибута определяется галкой "Открывать в новом окне".

@xlink:href

Ссылка Uobject на баннер.

<source>

Элемент описывающий источник содержимого баннера: ссылка на картинку или флеш-ролик, либо значение wysivyg-поля содержимое html-баннера.

<alt>

Альтернативный текст баннера.

<href>

Ссылка с баннера.

Примеры использования

Вставим в шаблоне разметки в место, где мы хотим вывести баннер, следующую инструкцию:

<div id="hat">
  ...
  <xsl:apply-templates select="document('udata://banners/fastInsert/top_banner/')/udata/banner" /> 
  ...
</div>

Место с идентификатором top_banner должно быть определено в модуле "Баннеры", во вкладке "Расположение в шаблоне".

Теперь, например, для баннера с картинкой мы можем определить следующий шаблон:

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

Замечание

Ссылка вида /banners/go_to/id_баннера/ используется для того, чтобы система могла считать переходы по баннеру.

Пример вызова

%banners fastInsert('top_banner')%

Название

%banners fastInsert()% — Выводит баннер, соответствующий указанному рекламному месту.

Параметры: %banners fastInsert(banner_place)%

banner_place

Этот параметр указывает, баннеры какого рекламного места использовать. В качестве значения для этого параметра используется поле «Идентификатор в шаблоне» в редактировании расположения баннера.

Описание

Макрос в случайном порядке выводит баннер, соответствующий расположению banner_place. Баннер выбирается исходя из настроек показа (учитывается только место показа и раздел отображения), заданных при редактировании. Для вывода баннера с учётом всех настроек следует использовать макрос %banners insert()%.