XSL вывода списка превью YouTube роликов

#
XSL вывода списка превью YouTube роликов
Для элементов инфосистемы нужно создать доп. св-во типа большое текстовое поле, с названием XML тега 'youtube_cod' (в данном случае).

В него вставляем код ролика, предоставляемый YouTube для размещения на своем сайте.

Идентификаторы превьюшек выбираются из предоставленного кода. По ним изображения подтягиваются с серверов YouTube.

Код XSL шаблона для отображения списка превью роликов.

<?xml version="1.0" encoding="windows-1251"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="Windows-1251" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>

   <xsl:template match="/">
      <xsl:apply-templates select="document"/>
   </xsl:template>

   <xsl:template match="document">
      <!-- выводим название информационной системы -->
      <div>
         <h1>
            <xsl:value-of disable-output-escaping="yes" select="blocks/name"/>
         </h1>

      <!-- вызов шаблона отображения списка YouTube роликов -->
      <!-- только для элементов у которых в доп. св-ве содержится код YouTube плеера -->
      <xsl:apply-templates select="blocks/items/item[contains(item_propertys/item_property[@xml_name = 'youtube_code']/value, 'youtube.com/v/')]"/>
    </div>
  </xsl:template>

  <!-- Шаблон отображения списка YouTube роликов -->
  <xsl:template match="item">

    <!-- получение id файла из кода flash-плеера -->
    <xsl:variable name="after" select="substring-after(item_propertys/item_property[@xml_name = 'youtube_code']/value, 'youtube.com/v/')"/>
    <xsl:variable name="file_name" select="substring-before($after, '&amp;')"/>

    <!-- отображение превью YouTube ролика со ссылкаой на элемент инфосистемы -->
    <a href="{item_path}" title="{item_name}">
      <img src="http://img.youtube.com/vi/{$file_name}/default.jpg" width="120" height="90" title="{item_name}" alt="{item_name}"/>
    </a>

  </xsl:template>
</xsl:stylesheet>
#
Re: XSL вывода списка превью YouTube роликов
сделал так не работает ошибка 404
#
Re: XSL вывода списка превью YouTube роликов
Данный пример не может вызвать 404 ошибку.

Скорее всего проблема в связи инфосистемы с узлом структуры.

Проверьте параметры инфосистемы и соответствующей структуры сайта, всё ли корректно настроено.
#
Re: XSL вывода списка превью YouTube роликов
вставил щаблон этот сделал инфо систему
добавил в структуру инфо систему и указал этот шаблон в итоге ошибка 404
#
Re: XSL вывода списка превью YouTube роликов
Отредактируйте информационную систему, для которой применяли xsl-шаблон, и проверьте параметр "Узел структуры", в настройках инфосистемы. Возможно проблема там.

А по хорошему, форум не является филиалом тех.поддержки. И с подобными вопросами нужно сразу обращаться именно туда. (См. http://www.hostcms.ru/forums/17/2351/)
#
Re: XSL вывода списка превью YouTube роликов

<!-- отображение превью YouTube ролика со ссылкаой на элемент инфосистемы -->
    <a href="{item_path}" title="{item_name}">
      <img src="http://img.youtube.com/vi/{$file_name}/default.jpg" width="120" height="90" title="{item_name}" alt="{item_name}"/>
    </a>
- не выводится скриншот ролика. Как его вывести?
Делись своими знаниями. Это путь к бессмертию.
#
Re: XSL вывода списка превью YouTube роликов
R_www, попробуйте вместо:
<xsl:variable name="file_name" select="substring-before($after, '&amp;')"/>

использовать:
<xsl:variable name="file_name" select="substring-before($after, '?')"/>

#
Re: XSL вывода списка превью YouTube роликов
natalya,
Спасибо! Всё работает.
Делись своими знаниями. Это путь к бессмертию.
#
Re: XSL вывода списка превью YouTube роликов
приведите пожалуйста примерный код для вставки в шаблон
///
#
Re: XSL вывода списка превью YouTube роликов
shadow755, см. первое сообщение в этой теме. Чем не пример кода?
Авторизация