Все теже доп картинки
godgi
5 июля 2013 г.
Извините в оченредной раз что поднимаю эту тему не могли бы вы помоч с доп картинками
<!-- Изображение для товара, если есть -->
<xsl:if test="image_small != ''">
<div class="gallery" style="width: 310px; height: 310px; background: #b5b5b5; vertical-align: middle; line-height: 310px;">
<a title="{name}" href="{dir}{image_large}" target="_blank">
<img src="{dir}{image_small}" class="image" alt="{name}" style="vertical-align: middle;" />
</a>
</div>
<div class="gallery" style="width: 150px; height: 100px; float: left; margin: 22px 0px; background: #b5b5b5;">
<xsl:if test="/shop/item/property[@id = 31]/image_small/file_url != ''">
<xsl:variable name="src-ext-1"><xsl:value-of select="/shop/item/property[@id = 31]/image_small/file_url"></xsl:value-of></xsl:variable>
<xsl:variable name="src-ext-1"><xsl:value-of select="/shop/item/property[@id = 31]/file_url"></xsl:value-of></xsl:variable>
<a href="{$src-ext-1-big}"><img src="{$src-ext-1}"/></a>
</xsl:if>
</div>
вот код что я не так делаю не пойму , но отображает он только ссылкуhttp://pol-dveri.ru/shop/laminat%20/laminate-ecoflooring/ecoflooring-castle/Ecoflooring-Castle-dub_tauehr-909.jpg/
<!-- Изображение для товара, если есть -->
<xsl:if test="image_small != ''">
<div class="gallery" style="width: 310px; height: 310px; background: #b5b5b5; vertical-align: middle; line-height: 310px;">
<a title="{name}" href="{dir}{image_large}" target="_blank">
<img src="{dir}{image_small}" class="image" alt="{name}" style="vertical-align: middle;" />
</a>
</div>
<div class="gallery" style="width: 150px; height: 100px; float: left; margin: 22px 0px; background: #b5b5b5;">
<xsl:if test="/shop/item/property[@id = 31]/image_small/file_url != ''">
<xsl:variable name="src-ext-1"><xsl:value-of select="/shop/item/property[@id = 31]/image_small/file_url"></xsl:value-of></xsl:variable>
<xsl:variable name="src-ext-1"><xsl:value-of select="/shop/item/property[@id = 31]/file_url"></xsl:value-of></xsl:variable>
<a href="{$src-ext-1-big}"><img src="{$src-ext-1}"/></a>
</xsl:if>
</div>
вот код что я не так делаю не пойму , но отображает он только ссылку
alexpimnev
6 июля 2013 г.
godgi,
не стал вникать в Ваш код, но вот как у меня
Шаблон "МагазинТовар"
не стал вникать в Ваш код, но вот как у меня
Шаблон "МагазинТовар"
<xsl:template match="shop_item">
<!-- Изображение для товара, если есть -->
<xsl:if test="image_small != ''">
<div id="gallery" style="float: left; width:250px; margin: 0px 10px 10px 0px;">
<a href="{dir}{image_large}" target="_blank" rel="fancydop" title="{name}"><img src="{dir}{image_large}" width="250" alt="{name}" itemprop="image" /></a>
<!-- Доп. изображения из свойств -->
<ul class="dop-foto"><xsl:apply-templates select="property_value[tag_name = 'dop_foto']" mode="dop_foto"/></ul>
</div>
</xsl:if>
</xsl:template>
<!-- Вывод дополнительных фото из свойств -->
<xsl:template match="property_value" mode="dop_foto">
<xsl:variable name="property_id" select="property_id" />
<xsl:variable name="property" select="/shop/shop_item_properties//property[@id=$property_id]" />
<xsl:if test="value/node() and value != '' or file/node() and file != ''">
<li><a href="{../dir}{file}" target="_blank" title="увеличить" rel="fancydop"><img src="{../dir}{file_small}" align="middle" alt="" /></a></li>
</xsl:if>
</xsl:template>
<!-- Изображение для товара, если есть -->
<xsl:if test="image_small != ''">
<div id="gallery" style="float: left; width:250px; margin: 0px 10px 10px 0px;">
<a href="{dir}{image_large}" target="_blank" rel="fancydop" title="{name}"><img src="{dir}{image_large}" width="250" alt="{name}" itemprop="image" /></a>
<!-- Доп. изображения из свойств -->
<ul class="dop-foto"><xsl:apply-templates select="property_value[tag_name = 'dop_foto']" mode="dop_foto"/></ul>
</div>
</xsl:if>
</xsl:template>
<!-- Вывод дополнительных фото из свойств -->
<xsl:template match="property_value" mode="dop_foto">
<xsl:variable name="property_id" select="property_id" />
<xsl:variable name="property" select="/shop/shop_item_properties//property[@id=$property_id]" />
<xsl:if test="value/node() and value != '' or file/node() and file != ''">
<li><a href="{../dir}{file}" target="_blank" title="увеличить" rel="fancydop"><img src="{../dir}{file_small}" align="middle" alt="" /></a></li>
</xsl:if>
</xsl:template>
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
godgi
11 июля 2013 г.
Сделал все как у Вас всеровно выдает ошибки
Предупреждение: XSLTProcessor::importStylesheet() [<a href='xsltprocessor.importstylesheet'>xsltprocessor.importstylesheet</a>]: compilation error: file /var/www/pol-dveri/data/www/pol-dveri.ru/ line 49 element template в файле /var/www/pol-dveri/data/www/pol-dveri.ru/modules/xsl/processor/xslt.php (строка 49)Предупреждение: XSLTProcessor::importStylesheet() [<a href='xsltprocessor.importstylesheet'>xsltprocessor.importstylesheet</a>]: element template only allowed as child of stylesheet в файле /var/www/pol-dveri/data/www/pol-dveri.ru/modules/xsl/processor/xslt.php (строка 49)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: No stylesheet associated to this object в файле /var/www/pol-dveri/data/www/pol-dveri.ru/modules/xsl/processor/xslt.php (строка 53)
Может есть какое то готовое решение для этого, потомучто уж очень давно мучаюсь
Предупреждение: XSLTProcessor::importStylesheet() [<a href='xsltprocessor.importstylesheet'>xsltprocessor.importstylesheet</a>]: compilation error: file /var/www/pol-dveri/data/www/pol-dveri.ru/ line 49 element template в файле /var/www/pol-dveri/data/www/pol-dveri.ru/modules/xsl/processor/xslt.php (строка 49)Предупреждение: XSLTProcessor::importStylesheet() [<a href='xsltprocessor.importstylesheet'>xsltprocessor.importstylesheet</a>]: element template only allowed as child of stylesheet в файле /var/www/pol-dveri/data/www/pol-dveri.ru/modules/xsl/processor/xslt.php (строка 49)Предупреждение: XSLTProcessor::transformToDoc() [<a href='xsltprocessor.transformtodoc'>xsltprocessor.transformtodoc</a>]: No stylesheet associated to this object в файле /var/www/pol-dveri/data/www/pol-dveri.ru/modules/xsl/processor/xslt.php (строка 53)
Может есть какое то готовое решение для этого, потомучто уж очень давно мучаюсь
alexpimnev
11 июля 2013 г.
что то где то намудрили в шаблоне, покажите его, только оформите в CODE
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
godgi
11 июля 2013 г.
<?xml version="1.0" encoding="utf-8"?>
<!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="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<!-- МагазинТовар -->
<xsl:decimal-format name="my" decimal-separator="," grouping-separator=" "/>
<xsl:template match="/shop">
<link rel="stylesheet" href="//yandex.st/jquery/fancybox/2.1.4/jquery.fancybox.css" />
<script src="//yandex.st/jquery/fancybox/2.1.4/jquery.fancybox.min.js"></script>
<script>$('.gallery a').fancybox();</script>
<xsl:apply-templates select="shop_item"/>
<div style="height:1px; background-color:#c5af7e; margin-top:20px"></div>
<div style="text-align:right; margin-bottom:20px; font-weight:bold; font-style:italic; font-size:15px">*Цена действительна при заказе от 40 м²</div>
<h2><a href="/aksessuary/">АКСЕССУАРЫ</a></h2>
<h2>Звоните</h2>
<ul>
<li>По телефону:(499) 713-1245, (495) 77-821-77</li>
</ul>
</xsl:template>
<xsl:template match="shop_item">
<h1>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</h1>
<div style="float: left; width: 320px; text-align: center; padding: 3px;">
<!-- Изображение для товара, если есть -->
<xsl:if test="image_small != ''">
<div class="gallery" style="width: 310px; height: 310px; background: #b5b5b5; vertical-align: middle; line-height: 310px;">
<a title="{name}" href="{dir}{image_large}" target="_blank">
<img src="{dir}{image_small}" class="image" alt="{name}" style="vertical-align: middle;" />
</a>
</div>
</xsl:if>
</div>
<!-- Дополнительные фото товаров -->
<div class="gallery" style="width: 150px; height: 100px; margin: 22px 0px; background: #b5b5b5; margin-left: 160px;">
<ul class="'ext_img_1"><xsl:apply-templates select="property_value[tag_name = 'ext_img_1']" mode="ext_img_1"/></ul>
<!-- Вывод дополнительных фото из свойств -->
<xsl:template match="property_value" mode="ext_img_1">
<xsl:variable name="property_id" select="property_id" />
<xsl:variable name="property" select="/shop/item/property[@id = 31]/" />
<xsl:if test="value/node() and value != '' or file/node() and file != ''">
<li><a href="{../dir}{file}" target="_blank" title="увеличить" rel="fancydop"><img src="{../dir}{file_small}" align="middle" alt="" /></a></li>
</xsl:if>
</xsl:template>
<div style="margin-left: 330px; padding-top: 22px;">
<div>
<!-- Цена товара -->
<div style="padding-bottom: 22px;">
<span style="font-size: 18pt; font-weight: bold; line-height: 22px; vertical-align: middle;">
<xsl:choose>
<xsl:when test="price != 0">
<xsl:value-of select="format-number(price, '### ##0,00', 'my')"/> <xsl:value-of select="currency" disable-output-escaping="yes"/>
</xsl:when>
<xsl:otherwise>договорная</xsl:otherwise>
</xsl:choose>
</span>
<!-- Если цена со скидкой - выводим ее -->
<xsl:if test="price_tax != price">
<span style="color: gray; text-decoration: line-through;">
<xsl:variable name="price_tax" select="price_tax"/>
<span style="font-size: 11pt">
<xsl:value-of select="format-number($price_tax, '### ##0,00', 'my')"/> <xsl:value-of disable-output-escaping="yes" select="currency"/></span>
</span>
<br/>
</xsl:if>
<!-- Ссылку на добавление в корзины выводим, если:
type != 1 - простой тип товара или делимый (0 - простой, 2 - делимый)
type = 1 - электронный товар, при этом остаток на складе больше 0 или -1,
что означает неограниченное количество -->
<xsl:if test="type != 1 or (type = 1 and (digitals > 0 or digitals = -1))">
<input type="text" size="5" value="1" id="count_{@id}" class="styled-select" style="width: 30px; padding: 7px; margin: 0px 10px;" />
<a href="{/shop/url}cart/?add={@id}" onclick="return $.addIntoCart('{/shop/url}cart/', {@id}, count_{@id}.value)">
<img src="/images/new-ver2/new-into-car.jpg" title="Купить" alt="Купить" style="line-height: 37px; vertical-align: middle;" />
</a>
</xsl:if>
</div>
<xsl:if test="marking != ''">
<p>Артикул: <b><xsl:value-of disable-output-escaping="yes" select="marking"/></b></p>
</xsl:if>
<xsl:if test="shop_producer/name != ''">
<p>Производитель: <b><xsl:value-of disable-output-escaping="yes" select="shop_producer/name"/></b></p>
</xsl:if>
<!-- Если указан вес товара -->
<xsl:if test="weight != 0">
<p>Вес товара: <xsl:value-of select="weight"/> <xsl:value-of select="/shop/shop_measure/name"/></p>
</xsl:if>
<!-- Показываем количество на складе, если больше нуля -->
<xsl:if test="rest > 0">
<p>В наличии: <xsl:value-of disable-output-escaping="yes" select="rest"/> <xsl:value-of disable-output-escaping="yes" select="mesure"/></p>
</xsl:if>
<!-- Описание товара -->
<xsl:value-of disable-output-escaping="yes" select="description" />
<!-- Если электронный товар, выведим доступное количество -->
<xsl:if test="type = 1">
<p>
<strong>
<xsl:choose>
<xsl:when test="digitals = 0">
Электронный товар закончился.
</xsl:when>
<xsl:when test="digitals = -1">
Электронный товар доступен для заказа.
</xsl:when>
<xsl:otherwise>
На складе осталось: <xsl:value-of select="digitals" /><xsl:text> </xsl:text><xsl:value-of select="mesure" />
</xsl:otherwise>
</xsl:choose>
</strong>
</p>
</xsl:if>
<!-- Текст товара -->
<p>
<xsl:value-of disable-output-escaping="yes" select="text"/>
</p>
<div style="clear: both;"></div>
<!-- Свойства в корневой группе -->
<h2>Характеристики</h2>
<xsl:if test="count(property_value) ">
<table>
<xsl:apply-templates select="property_value"/>
</table>
</xsl:if>
<div style="padding: 22px;">
<div class='pluso pluso-theme-color pluso-round'>
<div class='pluso-more-container'>
<a class='pluso-more' href=''></a>
</div>
<a class='pluso-facebook'></a>
<a class='pluso-livejournal'></a>
<a class='pluso-twitter'></a>
<a class='pluso-vkontakte'></a>
<a class='pluso-google'></a>
</div>
<script type='text/javascript'>if(!window.pluso){pluso={version:'0.9.1',url:'http://share.pluso.ru/'};h=document.getElementsByTagName('head')[0];l=document.createElement('link');l.href=pluso.url+'pluso.css';l.type='text/css';l.rel='stylesheet';s=document.createElement('script');s.src=pluso.url+'pluso.js';s.charset='UTF-8';h.appendChild(l);h.appendChild(s)}</script>
</div>
</div>
</div>
<!-- Информация об ошибках -->
<xsl:variable name="error_code" select="/shop/error"/>
<xsl:if test="$error_code != 0">
<div id="error">
<b>Внимание!</b>Неправильно введен код подтвержения!</div>
</xsl:if>
<xsl:if test="not(/shop/error/node()) and /shop/comment_is_active/node()">
<!-- Информация о выполненном действии -->
<div id="message">
<xsl:choose>
<xsl:when test="/shop/comment_is_active = '0'">Комментарий успешно добавлен и будет опубликован после проверки модератором!</xsl:when>
<xsl:otherwise>Комментарий успешно добавлен и опубликован!</xsl:otherwise>
</xsl:choose>
</div>
</xsl:if>
<!-- Тэги для информационного элемента -->
<xsl:if test="count(tag) > 0">
<p>
<img src="/hostcmsfiles/images/tags.gif" align="left" style="margin: 0px 5px -2px 0px"/>
<xsl:apply-templates select="tag"/>
</p>
</xsl:if>
<!-- Модификации -->
<xsl:if test="count(modifications/shop_item) > 0">
<b>Модификации:</b>
<table cellspacing="3" cellpadding="3" style="margin-left: -6px;">
<tr>
<td style="border-bottom: 1px solid #dadada;">Название</td>
<td style="border-bottom: 1px solid #dadada;">Цена</td>
</tr>
<xsl:apply-templates select="modifications/shop_item"/>
</table>
</xsl:if>
<xsl:if test="/shop/item/property[@id = 296]/value != ''">
<div style="border-top: 1px solid #dfdfdf; margin-top: 22px;">
<h2>Видео</h2>
<xsl:value-of disable-output-escaping="yes" select="/shop/item/property[@id = 296]/value" />
</div>
</xsl:if>
<xsl:if test="count(tying/shop_item) > 0">
<p>
<b>Похожие товары этого производителя:</b>
</p>
<!-- Отображаем сопутствующие товары -->
<xsl:apply-templates select="tying/shop_item"/>
<div style="clear: both;"></div>
</xsl:if>
</xsl:template>
<!-- Вывод строки со значением свойства -->
<xsl:template match="property_value">
<xsl:if test="value/node() and value != '' or file/node() and file != ''">
<xsl:variable name="property_id" select="property_id" />
<xsl:variable name="property" select="/shop/shop_item_properties//property[@id=$property_id]" />
<tr>
<td style="padding:5px; background:#eee"><xsl:value-of disable-output-escaping="yes" select="$property/name"/></td>
<td style="padding:5px; background:#eee"><xsl:choose>
<xsl:when test="$property/type = 2">
<a href="{../dir}{file}" target="_blank"><xsl:value-of disable-output-escaping="yes" select="file_name"/></a>
</xsl:when>
<xsl:when test="$property/type = 7">
<input type="checkbox" disabled="disabled">
<xsl:if test="value = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
</xsl:when>
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="value"/>
</xsl:otherwise>
</xsl:choose></td>
</tr>
</xsl:if>
</xsl:template>
<!-- Вывод строки со значением свойства -->
<xsl:template match="property">
<xsl:if test="@id!=296 and @id!=295 and @id!=294">
<xsl:if test="value != '' or (type = 1 and file_url != '')">
<tr>
<td style="padding: 5px" bgcolor="#eeeeee">
<b><xsl:value-of select="name"/></b>
</td>
<td style="padding: 5px" bgcolor="#eeeeee">
<xsl:choose>
<xsl:when test="type = 1">
<a href="{file_url}">Скачать файл</a>
</xsl:when>
<xsl:when test="type = 7">
<xsl:choose>
<xsl:when test="value = 1">
<input type="checkbox" checked="" disabled="" />
</xsl:when>
<xsl:otherwise>
<input type="checkbox" disabled="" />
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="value"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:if>
</xsl:if>
</xsl:template>
<!-- Шаблон для модификаций -->
<xsl:template match="modifications/shop_item">
<tr>
<td>
<!-- Название модификации -->
<a href="{url}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</td>
<td>
<!-- Цена модификации -->
<xsl:value-of disable-output-escaping="yes" select="price"/> 
<!-- Валюта -->
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</td>
</tr>
</xsl:template>
<xsl:template match="tying/shop_item">
<div style="float:left; width:45%; margin-right:5%; margin-bottom:20px">
<p>
<a href="{url}">
<xsl:value-of select="name"/>
</a>
</p>
<!-- Изображение для товара, если есть -->
<xsl:if test="image_small != ''">
<a href="{url}">
<img src="{dir}{image_small}" align="left" style="border: 1px solid #000000; margin: 0px 5px 5px 0px"/>
</a>
</xsl:if>
<p>
<xsl:value-of disable-output-escaping="yes" select="description"/>
</p>
<!-- Цена товара -->
<strong>
<xsl:choose>
<xsl:when test="price != 0">
<xsl:value-of disable-output-escaping="yes" select="price"/> 
<!-- Валюта товара -->
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</xsl:when>
<xsl:otherwise>договорная</xsl:otherwise>
</xsl:choose>
</strong>
<!-- Если цена со скидкой - выводим ее -->
<xsl:if test="price_tax != price">
<br/>
<font color="gray">
<strike>
<xsl:value-of disable-output-escaping="yes" select="price_tax"/> <xsl:value-of disable-output-escaping="yes" select="currency"/></strike>
</font>
</xsl:if>
<!-- Если указан вес товара -->
<xsl:if test="weight != 0">
<br/>Вес товара: <xsl:value-of select="weight"/> <xsl:value-of select="/shop/shop_measure/name"/></xsl:if>
<!-- Показываем скидки -->
<xsl:if test="count(discount) > 0">
<xsl:apply-templates select="discount"/>
</xsl:if>
<!-- Показываем количество на складе, если больше нуля -->
<xsl:if test="rest > 0">
<br/>В наличии: <xsl:value-of disable-output-escaping="yes" select="rest"/></xsl:if>
<xsl:if test="shop_producer/name != ''">
<br/>Производитель: <xsl:value-of disable-output-escaping="yes" select="shop_producer/name"/></xsl:if>
</div>
</xsl:template>
<!-- Шаблон выводит хлебные крошки -->
<xsl:template match="shop_group" mode="goup_url">
<xsl:variable name="parent_id" select="parent_id"/>
<!-- Выбираем рекурсивно вышестоящую группу -->
<xsl:apply-templates select="//shop_group[@id=$parent_id]" mode="goup_url"/>
<xsl:if test="parent_id=0">
<a href="{/shop/url}">
<xsl:value-of select="/shop/name"/>
</a>
</xsl:if>
<span class="url_arrow">→</span>
<a href="{url}">
<xsl:value-of select="name"/>
</a>
</xsl:template>
</xsl:stylesheet>
<!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="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
<!-- МагазинТовар -->
<xsl:decimal-format name="my" decimal-separator="," grouping-separator=" "/>
<xsl:template match="/shop">
<link rel="stylesheet" href="//yandex.st/jquery/fancybox/2.1.4/jquery.fancybox.css" />
<script src="//yandex.st/jquery/fancybox/2.1.4/jquery.fancybox.min.js"></script>
<script>$('.gallery a').fancybox();</script>
<xsl:apply-templates select="shop_item"/>
<div style="height:1px; background-color:#c5af7e; margin-top:20px"></div>
<div style="text-align:right; margin-bottom:20px; font-weight:bold; font-style:italic; font-size:15px">*Цена действительна при заказе от 40 м²</div>
<h2><a href="/aksessuary/">АКСЕССУАРЫ</a></h2>
<h2>Звоните</h2>
<ul>
<li>По телефону:(499) 713-1245, (495) 77-821-77</li>
</ul>
</xsl:template>
<xsl:template match="shop_item">
<h1>
<xsl:value-of disable-output-escaping="yes" select="name"/>
</h1>
<div style="float: left; width: 320px; text-align: center; padding: 3px;">
<!-- Изображение для товара, если есть -->
<xsl:if test="image_small != ''">
<div class="gallery" style="width: 310px; height: 310px; background: #b5b5b5; vertical-align: middle; line-height: 310px;">
<a title="{name}" href="{dir}{image_large}" target="_blank">
<img src="{dir}{image_small}" class="image" alt="{name}" style="vertical-align: middle;" />
</a>
</div>
</xsl:if>
</div>
<!-- Дополнительные фото товаров -->
<div class="gallery" style="width: 150px; height: 100px; margin: 22px 0px; background: #b5b5b5; margin-left: 160px;">
<ul class="'ext_img_1"><xsl:apply-templates select="property_value[tag_name = 'ext_img_1']" mode="ext_img_1"/></ul>
<!-- Вывод дополнительных фото из свойств -->
<xsl:template match="property_value" mode="ext_img_1">
<xsl:variable name="property_id" select="property_id" />
<xsl:variable name="property" select="/shop/item/property[@id = 31]/" />
<xsl:if test="value/node() and value != '' or file/node() and file != ''">
<li><a href="{../dir}{file}" target="_blank" title="увеличить" rel="fancydop"><img src="{../dir}{file_small}" align="middle" alt="" /></a></li>
</xsl:if>
</xsl:template>
<div style="margin-left: 330px; padding-top: 22px;">
<div>
<!-- Цена товара -->
<div style="padding-bottom: 22px;">
<span style="font-size: 18pt; font-weight: bold; line-height: 22px; vertical-align: middle;">
<xsl:choose>
<xsl:when test="price != 0">
<xsl:value-of select="format-number(price, '### ##0,00', 'my')"/> <xsl:value-of select="currency" disable-output-escaping="yes"/>
</xsl:when>
<xsl:otherwise>договорная</xsl:otherwise>
</xsl:choose>
</span>
<!-- Если цена со скидкой - выводим ее -->
<xsl:if test="price_tax != price">
<span style="color: gray; text-decoration: line-through;">
<xsl:variable name="price_tax" select="price_tax"/>
<span style="font-size: 11pt">
<xsl:value-of select="format-number($price_tax, '### ##0,00', 'my')"/> <xsl:value-of disable-output-escaping="yes" select="currency"/></span>
</span>
<br/>
</xsl:if>
<!-- Ссылку на добавление в корзины выводим, если:
type != 1 - простой тип товара или делимый (0 - простой, 2 - делимый)
type = 1 - электронный товар, при этом остаток на складе больше 0 или -1,
что означает неограниченное количество -->
<xsl:if test="type != 1 or (type = 1 and (digitals > 0 or digitals = -1))">
<input type="text" size="5" value="1" id="count_{@id}" class="styled-select" style="width: 30px; padding: 7px; margin: 0px 10px;" />
<a href="{/shop/url}cart/?add={@id}" onclick="return $.addIntoCart('{/shop/url}cart/', {@id}, count_{@id}.value)">
<img src="/images/new-ver2/new-into-car.jpg" title="Купить" alt="Купить" style="line-height: 37px; vertical-align: middle;" />
</a>
</xsl:if>
</div>
<xsl:if test="marking != ''">
<p>Артикул: <b><xsl:value-of disable-output-escaping="yes" select="marking"/></b></p>
</xsl:if>
<xsl:if test="shop_producer/name != ''">
<p>Производитель: <b><xsl:value-of disable-output-escaping="yes" select="shop_producer/name"/></b></p>
</xsl:if>
<!-- Если указан вес товара -->
<xsl:if test="weight != 0">
<p>Вес товара: <xsl:value-of select="weight"/> <xsl:value-of select="/shop/shop_measure/name"/></p>
</xsl:if>
<!-- Показываем количество на складе, если больше нуля -->
<xsl:if test="rest > 0">
<p>В наличии: <xsl:value-of disable-output-escaping="yes" select="rest"/> <xsl:value-of disable-output-escaping="yes" select="mesure"/></p>
</xsl:if>
<!-- Описание товара -->
<xsl:value-of disable-output-escaping="yes" select="description" />
<!-- Если электронный товар, выведим доступное количество -->
<xsl:if test="type = 1">
<p>
<strong>
<xsl:choose>
<xsl:when test="digitals = 0">
Электронный товар закончился.
</xsl:when>
<xsl:when test="digitals = -1">
Электронный товар доступен для заказа.
</xsl:when>
<xsl:otherwise>
На складе осталось: <xsl:value-of select="digitals" /><xsl:text> </xsl:text><xsl:value-of select="mesure" />
</xsl:otherwise>
</xsl:choose>
</strong>
</p>
</xsl:if>
<!-- Текст товара -->
<p>
<xsl:value-of disable-output-escaping="yes" select="text"/>
</p>
<div style="clear: both;"></div>
<!-- Свойства в корневой группе -->
<h2>Характеристики</h2>
<xsl:if test="count(property_value) ">
<table>
<xsl:apply-templates select="property_value"/>
</table>
</xsl:if>
<div style="padding: 22px;">
<div class='pluso pluso-theme-color pluso-round'>
<div class='pluso-more-container'>
<a class='pluso-more' href=''></a>
</div>
<a class='pluso-facebook'></a>
<a class='pluso-livejournal'></a>
<a class='pluso-twitter'></a>
<a class='pluso-vkontakte'></a>
<a class='pluso-google'></a>
</div>
<script type='text/javascript'>if(!window.pluso){pluso={version:'0.9.1',url:'http://share.pluso.ru/'};h=document.getElementsByTagName('head')[0];l=document.createElement('link');l.href=pluso.url+'pluso.css';l.type='text/css';l.rel='stylesheet';s=document.createElement('script');s.src=pluso.url+'pluso.js';s.charset='UTF-8';h.appendChild(l);h.appendChild(s)}</script>
</div>
</div>
</div>
<!-- Информация об ошибках -->
<xsl:variable name="error_code" select="/shop/error"/>
<xsl:if test="$error_code != 0">
<div id="error">
<b>Внимание!</b>Неправильно введен код подтвержения!</div>
</xsl:if>
<xsl:if test="not(/shop/error/node()) and /shop/comment_is_active/node()">
<!-- Информация о выполненном действии -->
<div id="message">
<xsl:choose>
<xsl:when test="/shop/comment_is_active = '0'">Комментарий успешно добавлен и будет опубликован после проверки модератором!</xsl:when>
<xsl:otherwise>Комментарий успешно добавлен и опубликован!</xsl:otherwise>
</xsl:choose>
</div>
</xsl:if>
<!-- Тэги для информационного элемента -->
<xsl:if test="count(tag) > 0">
<p>
<img src="/hostcmsfiles/images/tags.gif" align="left" style="margin: 0px 5px -2px 0px"/>
<xsl:apply-templates select="tag"/>
</p>
</xsl:if>
<!-- Модификации -->
<xsl:if test="count(modifications/shop_item) > 0">
<b>Модификации:</b>
<table cellspacing="3" cellpadding="3" style="margin-left: -6px;">
<tr>
<td style="border-bottom: 1px solid #dadada;">Название</td>
<td style="border-bottom: 1px solid #dadada;">Цена</td>
</tr>
<xsl:apply-templates select="modifications/shop_item"/>
</table>
</xsl:if>
<xsl:if test="/shop/item/property[@id = 296]/value != ''">
<div style="border-top: 1px solid #dfdfdf; margin-top: 22px;">
<h2>Видео</h2>
<xsl:value-of disable-output-escaping="yes" select="/shop/item/property[@id = 296]/value" />
</div>
</xsl:if>
<xsl:if test="count(tying/shop_item) > 0">
<p>
<b>Похожие товары этого производителя:</b>
</p>
<!-- Отображаем сопутствующие товары -->
<xsl:apply-templates select="tying/shop_item"/>
<div style="clear: both;"></div>
</xsl:if>
</xsl:template>
<!-- Вывод строки со значением свойства -->
<xsl:template match="property_value">
<xsl:if test="value/node() and value != '' or file/node() and file != ''">
<xsl:variable name="property_id" select="property_id" />
<xsl:variable name="property" select="/shop/shop_item_properties//property[@id=$property_id]" />
<tr>
<td style="padding:5px; background:#eee"><xsl:value-of disable-output-escaping="yes" select="$property/name"/></td>
<td style="padding:5px; background:#eee"><xsl:choose>
<xsl:when test="$property/type = 2">
<a href="{../dir}{file}" target="_blank"><xsl:value-of disable-output-escaping="yes" select="file_name"/></a>
</xsl:when>
<xsl:when test="$property/type = 7">
<input type="checkbox" disabled="disabled">
<xsl:if test="value = 1">
<xsl:attribute name="checked">checked</xsl:attribute>
</xsl:if>
</input>
</xsl:when>
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="value"/>
</xsl:otherwise>
</xsl:choose></td>
</tr>
</xsl:if>
</xsl:template>
<!-- Вывод строки со значением свойства -->
<xsl:template match="property">
<xsl:if test="@id!=296 and @id!=295 and @id!=294">
<xsl:if test="value != '' or (type = 1 and file_url != '')">
<tr>
<td style="padding: 5px" bgcolor="#eeeeee">
<b><xsl:value-of select="name"/></b>
</td>
<td style="padding: 5px" bgcolor="#eeeeee">
<xsl:choose>
<xsl:when test="type = 1">
<a href="{file_url}">Скачать файл</a>
</xsl:when>
<xsl:when test="type = 7">
<xsl:choose>
<xsl:when test="value = 1">
<input type="checkbox" checked="" disabled="" />
</xsl:when>
<xsl:otherwise>
<input type="checkbox" disabled="" />
</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="value"/>
</xsl:otherwise>
</xsl:choose>
</td>
</tr>
</xsl:if>
</xsl:if>
</xsl:template>
<!-- Шаблон для модификаций -->
<xsl:template match="modifications/shop_item">
<tr>
<td>
<!-- Название модификации -->
<a href="{url}">
<xsl:value-of disable-output-escaping="yes" select="name"/>
</a>
</td>
<td>
<!-- Цена модификации -->
<xsl:value-of disable-output-escaping="yes" select="price"/> 
<!-- Валюта -->
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</td>
</tr>
</xsl:template>
<xsl:template match="tying/shop_item">
<div style="float:left; width:45%; margin-right:5%; margin-bottom:20px">
<p>
<a href="{url}">
<xsl:value-of select="name"/>
</a>
</p>
<!-- Изображение для товара, если есть -->
<xsl:if test="image_small != ''">
<a href="{url}">
<img src="{dir}{image_small}" align="left" style="border: 1px solid #000000; margin: 0px 5px 5px 0px"/>
</a>
</xsl:if>
<p>
<xsl:value-of disable-output-escaping="yes" select="description"/>
</p>
<!-- Цена товара -->
<strong>
<xsl:choose>
<xsl:when test="price != 0">
<xsl:value-of disable-output-escaping="yes" select="price"/> 
<!-- Валюта товара -->
<xsl:value-of disable-output-escaping="yes" select="currency"/>
</xsl:when>
<xsl:otherwise>договорная</xsl:otherwise>
</xsl:choose>
</strong>
<!-- Если цена со скидкой - выводим ее -->
<xsl:if test="price_tax != price">
<br/>
<font color="gray">
<strike>
<xsl:value-of disable-output-escaping="yes" select="price_tax"/> <xsl:value-of disable-output-escaping="yes" select="currency"/></strike>
</font>
</xsl:if>
<!-- Если указан вес товара -->
<xsl:if test="weight != 0">
<br/>Вес товара: <xsl:value-of select="weight"/> <xsl:value-of select="/shop/shop_measure/name"/></xsl:if>
<!-- Показываем скидки -->
<xsl:if test="count(discount) > 0">
<xsl:apply-templates select="discount"/>
</xsl:if>
<!-- Показываем количество на складе, если больше нуля -->
<xsl:if test="rest > 0">
<br/>В наличии: <xsl:value-of disable-output-escaping="yes" select="rest"/></xsl:if>
<xsl:if test="shop_producer/name != ''">
<br/>Производитель: <xsl:value-of disable-output-escaping="yes" select="shop_producer/name"/></xsl:if>
</div>
</xsl:template>
<!-- Шаблон выводит хлебные крошки -->
<xsl:template match="shop_group" mode="goup_url">
<xsl:variable name="parent_id" select="parent_id"/>
<!-- Выбираем рекурсивно вышестоящую группу -->
<xsl:apply-templates select="//shop_group[@id=$parent_id]" mode="goup_url"/>
<xsl:if test="parent_id=0">
<a href="{/shop/url}">
<xsl:value-of select="/shop/name"/>
</a>
</xsl:if>
<span class="url_arrow">→</span>
<a href="{url}">
<xsl:value-of select="name"/>
</a>
</xsl:template>
</xsl:stylesheet>
godgi
11 июля 2013 г.
Вы уж извините я только начинаю со всем этим разбираться, так что если отправити учиться то не обижусь))))))))))))))
alexpimnev
11 июля 2013 г.
godgi,
из того что успел заметить у Вас шаблон в шаблоне xsl:template, посмотрите какой у меня пример
вставте
между
из того что успел заметить у Вас шаблон в шаблоне xsl:template, посмотрите какой у меня пример
вставте
<!-- Вывод дополнительных фото из свойств -->
<xsl:template match="property_value" mode="dop_foto">
<xsl:variable name="property_id" select="property_id" />
<xsl:variable name="property" select="/shop/shop_item_properties//property[@id=$property_id]" />
<xsl:if test="value/node() and value != '' or file/node() and file != ''">
<li><a href="{../dir}{file}" target="_blank" title="увеличить" rel="fancydop"><img src="{../dir}{file_small}" align="middle" alt="" /></a></li>
</xsl:if>
</xsl:template>
<xsl:template match="property_value" mode="dop_foto">
<xsl:variable name="property_id" select="property_id" />
<xsl:variable name="property" select="/shop/shop_item_properties//property[@id=$property_id]" />
<xsl:if test="value/node() and value != '' or file/node() and file != ''">
<li><a href="{../dir}{file}" target="_blank" title="увеличить" rel="fancydop"><img src="{../dir}{file_small}" align="middle" alt="" /></a></li>
</xsl:if>
</xsl:template>
между
</xsl:template>
<!--//вот тут//-->
<!-- Вывод строки со значением свойства -->
<xsl:template match="property_value">
<!--//вот тут//-->
<!-- Вывод строки со значением свойства -->
<xsl:template match="property_value">
www.morozovpimnev.ru - создание, поддержка и продвижение сайтов | Наш канал https://asmp.su/channel
PSin
7 июня 2017 г.
Отличный пример. Мне удалось даже слайдер засунуть под доп.картинки.
А возможен ли трюк, чтобы вызывать доп.картинки каждого товара в шаблоне списка товаров?
(чтобы выводить доп. картинки не только внутри товара, но и в списке товаров).
Если сделать аналогично, то в <xsl:template match="property_value" mode="dop_foto">
собираются все доп. фотографии со всех товаров сразу, а потом при вызове
<xsl:apply-templates select="property_value[tag_name = 'dop_foto']" mode="dop_foto"/>
в шаблоне shop_item у каждого товара выводятся все картинки товаров списка.
А возможен ли трюк, чтобы вызывать доп.картинки каждого товара в шаблоне списка товаров?
(чтобы выводить доп. картинки не только внутри товара, но и в списке товаров).
Если сделать аналогично, то в <xsl:template match="property_value" mode="dop_foto">
собираются все доп. фотографии со всех товаров сразу, а потом при вызове
<xsl:apply-templates select="property_value[tag_name = 'dop_foto']" mode="dop_foto"/>
в шаблоне shop_item у каждого товара выводятся все картинки товаров списка.
hostcms
Модератор
7 июня 2017 г.
Если вы внутри шаблона shop_item выберите именно его property_value (просто property_value, без всяких там //), то получите требуемое.
Dmitry K.
25 октября 2018 г.
Отлично работает! Картинки выводятся.
Я применил это для доп.фото инфосистемы.
Применил шаблон в нужном месте:
Оформил всё это как надо:
Но вот незадача! Подписи к фото берёт из "Описание файла" только первого фото и подставляет это значение для всех фото.
Вопрос - А как сделать так чтобы "Описание файла" проставлялось к своему фото соответственно?
Вот ссылка на казус -https://www.mebelib.ru/wood-tree/akaciya-belaya/
Я применил это для доп.фото инфосистемы.
Применил шаблон в нужном месте:
<!-- Изображения, если есть -->
<div id="gallery" class="row">
<xsl:if test="count(property_value[tag_name!='foto']) > 0">
<xsl:apply-templates select="property_value[file_small/node()]" mode="foto" />
</xsl:if>
</div>
<div id="gallery" class="row">
<xsl:if test="count(property_value[tag_name!='foto']) > 0">
<xsl:apply-templates select="property_value[file_small/node()]" mode="foto" />
</xsl:if>
</div>
Оформил всё это как надо:
<!-- Вывод дополнительных фото из свойств -->
<xsl:template match="property_value" mode="foto">
<xsl:variable name="property_id" select="property_id" />
<xsl:variable name="property" select="/informationsystem/informationsystem_item_properties//property[@id=$property_id]" />
<xsl:if test="value/node() and value != '' or file/node() and file != ''">
<figure class="col-6 col-sm-4 col-lg-3 col-xl-2">
<a rel="tag" href="{../dir}{file}" target="_blank">
<img class="img-thumbnail" src="{../dir}{file_small}" alt="{file_description}" /></a>
<figcaption>
<xsl:value-of select="/informationsystem/informationsystem_item//file_description/node()" mode="foto" />
</figcaption></figure>
</xsl:if>
</xsl:template>
<xsl:template match="property_value" mode="foto">
<xsl:variable name="property_id" select="property_id" />
<xsl:variable name="property" select="/informationsystem/informationsystem_item_properties//property[@id=$property_id]" />
<xsl:if test="value/node() and value != '' or file/node() and file != ''">
<figure class="col-6 col-sm-4 col-lg-3 col-xl-2">
<a rel="tag" href="{../dir}{file}" target="_blank">
<img class="img-thumbnail" src="{../dir}{file_small}" alt="{file_description}" /></a>
<figcaption>
<xsl:value-of select="/informationsystem/informationsystem_item//file_description/node()" mode="foto" />
</figcaption></figure>
</xsl:if>
</xsl:template>
Но вот незадача! Подписи к фото берёт из "Описание файла" только первого фото и подставляет это значение для всех фото.
Вопрос - А как сделать так чтобы "Описание файла" проставлялось к своему фото соответственно?
Вот ссылка на казус -
Авторизация