Предупреждение: 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)
Может есть какое то готовое решение для этого, потомучто уж очень давно мучаюсь
<!-- Ссылку на добавление в корзины выводим, если:
type != 1 - простой тип товара или делимый (0 - простой, 2 - делимый)
type = 1 - электронный товар, при этом остаток на складе больше 0 или -1,
что означает неограниченное количество -->
<xsl:if test="type != 1 or (type = 1 and (digitals > 0 or digitals = -1))">
<!-- Текст товара -->
<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>
<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: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]" />
<!-- Показываем количество на складе, если больше нуля -->
<xsl:if test="rest > 0">
<br/>В наличии: <xsl:value-of disable-output-escaping="yes" select="rest"/></xsl:if>
Отличный пример. Мне удалось даже слайдер засунуть под доп.картинки.
А возможен ли трюк, чтобы вызывать доп.картинки каждого товара в шаблоне списка товаров?
(чтобы выводить доп. картинки не только внутри товара, но и в списке товаров).
Если сделать аналогично, то в <xsl:template match="property_value" mode="dop_foto">
собираются все доп. фотографии со всех товаров сразу, а потом при вызове
<xsl:apply-templates select="property_value[tag_name = 'dop_foto']" mode="dop_foto"/>
в шаблоне shop_item у каждого товара выводятся все картинки товаров списка.
Отлично работает! Картинки выводятся.
Я применил это для доп.фото инфосистемы.
Применил шаблон в нужном месте:
<!-- Изображения, если есть -->
<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>
Но вот незадача! Подписи к фото берёт из "Описание файла" только первого фото и подставляет это значение для всех фото.
Вопрос - А как сделать так чтобы "Описание файла" проставлялось к своему фото соответственно?
Вот ссылка на казус - https://www.mebelib.ru/wood-tree/akaciya-belaya/