Возможно ли отображать доп. свойства товара в списке товаров?

#
Возможно ли отображать доп. свойства товара в списке товаров?
Без модификации XSL или нужно поправить шаблон?
Модератор
#
Re: Возможно ли отображать доп. свойства товара в списке товаров?
в XSL-шаблон нужно добавить такой вывод, фрагменты можно взять из XSL для товара
#
Re: Возможно ли отображать доп. свойства товара в списке товаров?
Тема поднята давно, перенес строки из XSL-шаблона для товара в XSL-шаблон группы, только вот для каждого товара в группах свойств выводятся свойства из всех товаров присутсвующих в категории, можно ли как-то аргументировать выборку чтобы свойства отражались только для данного товара?
#
Re: Возможно ли отображать доп. свойства товара в списке товаров?
насколько я понимаю условие нужно внести в данную строчку
<xsl:apply-templates select="/shop/item/property[@dir_id = $dir_id]"/>
но вот только как должно выглядеть условие для item не могу понять
#
Re: Возможно ли отображать доп. свойства товара в списке товаров?
inflame писал(а):
но вот только как должно выглядеть условие для item не могу понять
- вам нужно будет в тэмплейт для разделов доп. свойств, т.е.
<xsl:template match="properties_items_dir">
передавать(при его вызове через xsl:apply-templates) идентификатор товара, для которого вы выводите список свойств. Сделать это(т.е. передать параметр) можно через элемент xsl:with-param, а принять параметр можно через элемент xsl:param. Например, если параметр будет называться item_id, то требуемой вам условие можно записать так:
<xsl:apply-templates select="/shop/item[@id = $item_id]/property[@dir_id = $dir_id]"/>
#
Re: Возможно ли отображать доп. свойства товара в списке товаров?
Наталья, спасибо что ответели, но не могли бы вы помочь еще немного. Приведенный вами код вставил в конструкцию, но вот как присвоить или определить параметр $item_id немогу понять.

Вот код моей конструкции:
   <!-- Вывод раздела для свойств товара -->
   <xsl:template match="properties_items_dir">
      
      <xsl:variable name="dir_id" select="@id"/>
      
      <xsl:if test="count(/shop/item/property[@dir_id = $dir_id])">
         <!-- Название группы свойств -->
      <p><b><xsl:value-of select="shop_properties_items_dir_name"/></b></p>
         
         <fieldset>
         <select name="{shop_properties_groups_dir_name}">
         <option selected="selected" value="none" data-cost="0" data-default="true"> -- Ничего не выбрано -- </option>
            <xsl:apply-templates select="/shop/item[@id = $item_id]/property[@dir_id = $dir_id]"/>
         </select>
      </fieldset>
      </xsl:if>
      
      <xsl:if test="count(properties_items_dir) > 0">
         <blockquote>
            <xsl:apply-templates select="properties_items_dir"/>
         </blockquote>
      </xsl:if>
   </xsl:template>


   <!-- Вывод строки со значением свойства -->
   <xsl:template match="property">
      <xsl:if test="value != '' or (type = 1 and file_path != '')">
      <option value="{name}" data-cost="{value}">
               <b><xsl:value-of select="name"/></b>
      </option>
      </xsl:if>
   </xsl:template>


Заранее благодарен за ответ
#
Re: Возможно ли отображать доп. свойства товара в списке товаров?
Вместо:
<!-- Вывод раздела для свойств товара -->
<xsl:template match="properties_items_dir">

используйте:
<!-- Вывод раздела для свойств товара -->
<xsl:template match="properties_items_dir">
<xsl:param name="item_id"/>


Вместо:
<!-- Выбираем список групп свойств -->
<xsl:apply-templates select="/shop/properties_items_dir"/>


используйте:
<!-- Выбираем список групп свойств -->
<xsl:apply-templates select="/shop/properties_items_dir">
<xsl:with-param name="item_id" select="@id"/>
</xsl:apply-templates>
#
Re: Возможно ли отображать доп. свойства товара в списке товаров?
Спасибо за вашу помощь
#
Re: Возможно ли отображать доп. свойства товара в списке товаров?
Пожалуйста.
#
Re: Возможно ли отображать доп. свойства товара в списке товаров?
Щас попробовал соверщить данные изменения но не чего не изменилось
Авторизация