Список в товаре

#
Список в товаре
Если я нахожусь в товаре и у него несколько значений одного дополнительно свойства оно будет выводиться примерно так:

Название свойства №1: Значение1
Название свойства №2: Значение2
Название свойства №2: Значение3
Название свойства №3: Значение4

А нужно к примеру:
Название свойства №1: Значение1
Название свойства №2: Значение2, Значение3
Название свойства №3: Значение4

Помогите с рецептом решения
Skype:ferdinant1988 ICQ:311960596 E-mail: ferdinant@i.ua
Модератор
#
Re: Список в товаре
Решается на XSL. Идти нужно со стороны shop_item_properties. В темплейте показываете имя свойства и вызываете темплейт property_value с ограничением по ID свойства. В property_value делаете проверку, что если position() != last(), то выводить запятую. Получится то, что Вам нужно. Значения одного свойства будут идти через запятую.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Список в товаре
А если в пределах обработчика:
         <xsl:if test="count(property_value)">
            <h2>Атрибуты товара</h2>
            <xsl:apply-templates select="property_value"/>
         </xsl:if>

   <!-- Вывод строки со значением свойства -->
   <xsl:template match="property_value">
      <xsl:if test="value/node() and value != '' or file/node() and file != ''">
         <div class="shop_property">
            <xsl:variable name="property_id" select="property_id" />
            <xsl:variable name="property" select="/shop/shop_item_properties//property[@id=$property_id]" />

            <xsl:value-of disable-output-escaping="yes" select="$property/name"/><xsl:text>: </xsl:text>
            <span><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></span>
         </div>
      </xsl:if>
   </xsl:template>
Skype:ferdinant1988 ICQ:311960596 E-mail: ferdinant@i.ua
Модератор
#
Re: Список в товаре
Ответ как реализовывать был дан в предыдущем сообщении.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
Авторизация