Отображение свойств модификаций

#
Отображение свойств модификаций
Добрый день.
В XSL-шаблоне по умолчанию есть код, выводящий допсвойство "цвет".


<!-- Цвета -->
<!-- <xsl:if test="/shop/shop_item_properties//property[tag_name = 'color']/node() and count(/shop/shop_item_properties//property[tag_name = 'color']/list//list_item[icon != ''])"> -->

                                 <xsl:variable name="colors" select="modifications//property_value[tag_name = 'color'][value/node()]" />

                                 <xsl:if test="count($colors)">
                                    <xsl:variable name="property" select="/shop/shop_item_properties//property[tag_name = 'color']" />
                                    <div class="dop">
                                       <div class="additional-options-wrapper" data-property-id="{$property/@id}">
                                          <span class="mou"><xsl:value-of select="$property/name"/></span>
                                          <div class="colors respo-cart-a">
                                             <xsl:for-each select="$colors">
                                                <xsl:if test="generate-id() = generate-id($colors[. = current()][1])">
                                                   <xsl:variable name="color"><xsl:value-of select="icon" /></xsl:variable>
                                                   <xsl:variable name="value" select="value" />

                                                   <div style="background-color:{$color};" onclick="$.selectModification(this, {$id}, '{/shop/url}')" data-name="colors" data-id="{$property/list/list_item[value = $value]/@id}" title="{$value}"></div>
                                                </xsl:if>
                                             </xsl:for-each>
                                          </div>
                                       </div>
                                    </div>
                                 </xsl:if>

<!-- </xsl:if> -->


Почему цвета каждого "переключателя цвета" имеют style="background-color:;" ? В соответствующем списке каждому добавлен свой цвет.



Страница https://co54680.tw1.ru/shop/sajt/smartfony/iphone/iphone-16-pro-max/smartfon-apple-iphone-16-pro-max-1024gb-naturalnyj-titan-natural-titanium-dualsim/
lbrstudio@mail.ru
Модератор
#
Re: Отображение свойств модификаций
Цитата:
В соответствующем списке каждому добавлен свой цвет.

В какое поле он добавлен? По коду он берется из поля icon". Если используете другое, то и в переменной поменяйте.
Вы только что начали читать предложение, чтение которого вы уже заканчиваете.
#
Re: Отображение свойств модификаций
Благодарю, так и есть.
lbrstudio@mail.ru
#
Re: Отображение свойств модификаций
Еще вопрос по тому же коду: с целью вывести цвет родительского товара и модификаций отредактировал строку

<xsl:variable name="colors" select="modifications//property_value[tag_name = 'color'][value/node()]" />

на

<xsl:variable name="colors" select="//property_value[tag_name = 'color'][value/node()]" />

В итоге получил нужные цвета + те, которых нет - лишние. Помогите понять откуда они появились как от них избавиться?

lbrstudio@mail.ru
Модератор
#
Re: Отображение свойств модификаций
O`Breea,
ось // означает выбрать ВСЕ значения везде, если вы от текущего узла хотите выбрать потомки любого уровня вложенности .//
Авторизация