1
Шаблоны XSLT / Настроить правильный вывод фотоальбома
« : 04 Июля 2018, 02:30:35 »
Добрый день.
Появилась проблема у заказчика после обновления сайта с образцами товаров(фотоальбом).
Структура фотоальбома такая.
=Категория
==под категория
===под категория (дублируется)
====собственно сама фотография
Проблема в том что последняя группа дублируется
вот ссылка на скрин:
http://prntscr.com/k28fd7
Помогите пожалуйста решить проблему, 3 дня уже парюсь с этой мелочью.
Первый umi опыт.
Появилась проблема у заказчика после обновления сайта с образцами товаров(фотоальбом).
Структура фотоальбома такая.
=Категория
==под категория
===под категория (дублируется)
====собственно сама фотография
Проблема в том что последняя группа дублируется
вот ссылка на скрин:
http://prntscr.com/k28fd7
Помогите пожалуйста решить проблему, 3 дня уже парюсь с этой мелочью.
Первый umi опыт.
Код: [Выделить]
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xsl:stylesheet SYSTEM "ulang://i18n/constants.dtd:file">
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="http://exslt.org/dates-and-times"
xmlns:udt="http://umi-cms.ru/2007/UData/templates"
xmlns:umi="http://www.umi-cms.ru/TR/umi"
exclude-result-prefixes="xsl date udt umi">
<xsl:template match="result[@module = 'photoalbum'][@method = 'album']">
<xsl:apply-templates select="document(concat('udata://photoalbum/albums//100/1/',$document-page-id, '?extProps=h1,descr,header_pic'))/udata" />
<xsl:apply-templates select="document(concat('udata://photoalbum/album/',$document-page-id, '?extProps=h1,descr,photo'))/udata" />
</xsl:template>
<xsl:template match="udata[@module = 'photoalbum'][@method = 'albums']" />
<xsl:template match="udata[@module = 'photoalbum'][@method = 'albums'][total]">
<ul class="photoalbum">
<xsl:apply-templates select="items/item" />
</ul>
<xsl:apply-templates select="total" />
<div class="descr" umi:element-id="{id}" umi:field-name="">
<xsl:value-of select="document(concat('upage://',id,'.descr'))/udata/property/value" disable-output-escaping="yes" />
</div>
</xsl:template>
<xsl:template match="udata[@module = 'photoalbum' and @method = 'albums']/items/item">
<xsl:variable name="img_src" select="extended/properties/property[@name = 'header_pic']/value" />
<xsl:variable name="img_thumb" select="document(concat('udata://system/makeThumbnailFull/(.', $img_src, ')/154/110/notemplate/0/1'))/udata/src" />
<li>
<div>
<a href="{@link}" class="photoalbum_link">
<img src="{$img_thumb}" />
<span>
<xsl:value-of select=".//property[@name = 'h1']/value" />
</span>
</a>
</div>
</li>
</xsl:template>
<xsl:template match="udata[@module = 'photoalbum'][@method = 'album']" />
<xsl:template match="udata[@module = 'photoalbum'][@method = 'album'][total]">
<ul class="photoalbum">
<xsl:apply-templates select="items/item" />
</ul>
<xsl:apply-templates select="total" />
<div class="descr" umi:element-id="{id}" umi:field-name="descr">
<xsl:value-of select="document(concat('upage://',id,'.descr'))/udata/property/value" disable-output-escaping="yes" />
</div>
</xsl:template>
<xsl:template match="udata[@module = 'photoalbum' and @method = 'album']/items/item">
<xsl:variable name="img_src" select="extended/properties/property[@name = 'photo']/value" />
<xsl:variable name="img_thumb" select="document(concat('udata://system/makeThumbnailFull/(.', $img_src, ')/154/110/notemplate/0/1'))/udata/src" />
<xsl:variable name="img_title" select=".//property[@name = 'h1']/value" />
<li>
<div>
<a href="{$img_src}" class="photoalbum_link fancy" title="{$img_title}" rel="photoalbum">
<img src="{$img_thumb}" />
<span>
<xsl:value-of select=".//property[@name = 'h1']/value" />
</span>
</a>
</div>
</li>
</xsl:template>
</xsl:stylesheet>