Своя галерея с использованием UFS

Материал из Umicms

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

Актуально для версии 2.9

Простая галерея без использования каких либо модулей, принцип работы заключается в том, что есть определённая папка (например "imgs") в которую мы складываем картинки и они появляются на определенной страничке, уже оформленные как надо и т.д.

Для того, чтобы сделать такую галерею проверьте включен ли у вас протокол ufs позволяющий работать с файловой структурой (запись в config.ini)

[streams]
enable[] = "ufs"

Теперь открываем стандартный шаблон demodizzy - \xsltTpls\modules\content\common.xsl и в самом конце добавляем следующий код:

<xsl:variable name="dir-name">images/gallery</xsl:variable>
<xsl:template match="result[@module='content'][@method='content'][@request-uri='/galereya/']">
	<xsl:apply-templates select="document(concat('ufs://', $dir-name))/udata/file" mode="GL"/>
</xsl:template>
 
<xsl:template match="/udata/file" mode="GL">
  <xsl:if test='@ext="jpg"or @ext="Jpg"or @ext="JPG"or @ext="png"or @ext="Png"or @ext="PNG"'>
    <a href="/{$dir-name}/{@name}">
      <div style="position:relative; height:75px; padding:5px; float:left; box-shadow: black 1px 1px 2px;">
      <img title="{substring-before(./@name, '.')}" src="/{$dir-name}/{@name}" style="width: 90px;"/>
      <p style="box-shadow: #000 0px 0px 3px; background: #000; position: absolute; bottom: 0; color: #fff; padding: 0 2px;">
      <xsl:value-of select="substring-before(./@name, '.')" /></p>
      </div>
    </a>
  </xsl:if>
</xsl:template>

Не забудьте поменять в строке #1 images/gallery на название директории с файлами изображений и в строке #2 /galereya/ на адрес вашей страницы. Код предоставлен уже с некоторым оформлением. Можно копипастить или добавить\изменить\разделить на свой вкус. Особенно хорошо такая галерея будет выглядеть в связке с инструкциями из статьи Эффекты_Lytebox_для_объектов_каталога_на_XSLT и применением макроса makeThumbnail.

Файл:Галерея.jpg‎
Личные инструменты