Как вывести процент скидки в модификациях?

#
Как вывести процент скидки в модификациях?
Здравствуйте! Для обычных товаров вывожу так:

Шаблон вывода списка товаров:

<xsl:if test="count(shop_discount)">
               <p class="catalog-item__economy">Экономия
                  <span class="strong">
                     <xsl:apply-templates select="shop_discount"/>%
                  </span>
               </p>
            </xsl:if>

<xsl:template match="shop_discount">
      <xsl:value-of select="round(percent)"/>
   </xsl:template>


Делаю тоже самое в шаблоне товара, но для модификаций (они у меня внизу под карточкой товара выходят)

<xsl:template match="modifications/shop_item">
      <div class="col-xs-6 col-sm-4 col-md-4 catalog-item">         
         <a href="{url}" class="catalog-item__link"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
         <xsl:if test="discount != 0">
            <span class="catalog-item__old-price">
               <xsl:value-of select="format-number(price + discount, '### ##0', 'my')"/>
            </span>
         </xsl:if>
         <xsl:if test="price != 0">
            <span class="catalog-item__new-price">
               <xsl:value-of select="format-number(price, '### ##0', 'my')"/>.-
            </span>
         </xsl:if>
         <xsl:if test="count(shop_discount)">
            <p class="catalog-item__economy">Экономия
               <span class="strong">
                  <xsl:apply-templates select="shop_discount"/>%
               </span>
            </p>
         </xsl:if>
         <a onclick="return $.bootstrapAddIntoCart('{/shop/url}cart/', {@id}, 1)" class="catalog-item__busket"><i class="glyphicon glyphicon-shopping-cart catalog-item__busket-icon"></i> В корзину</a>            
      </div>      
   </xsl:template>
   
   <xsl:template match="shop_discount">
      <xsl:value-of select="round(percent)"/>
   </xsl:template>


В итоге где должно быть написано "Экономия 10%" пишет "Экономия Скидка 10% 10.00%%"
Т.е. как бы выводит,но не корректно. Где это можно поправить? Может что-то не так делаю?
Модератор
#
Re: Как вывести процент скидки в модификациях?
у вас в "Шаблон вывода списка товаров:" xsl:template match="shop_discount"> внутри другого темлейта?
судя по поведению в случае с модификациями шаблон вывода не находится и просто распечатывается узел в таком виде.
#
Re: Как вывести процент скидки в модификациях?
HostCMS, нет..там все нормально в "Шаблон вывода списка товаров". Просто сократил,чтобы простыню не делать.
А так у меня сам шаблон shop закрывается и после него начинаются шаблоны типа "Показ групп", "Показ товаров" и т.д. и вот этот шаблон находится под ними.


   <xsl:template match="shop_discount">
      <xsl:value-of select="round(percent)"/>
   </xsl:template>


этот шаблон я вызываю через <xsl:apply-templates select="shop_discount"/>%

#
Re: Как вывести процент скидки в модификациях?
Нужно смотреть на месте. Если у Вас активный период технической поддержки, обратитесь,пожалуйста, на fhccbeg@ubfgpzf.eh
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Как вывести процент скидки в модификациях?
HostCMS,  llirik, я идиот!!! Развернул на чистой локалке и все сделал так же..., но теперь выходит так "Экономия Скидка 10.00%% ".Почему-то эта строчка  <xsl:apply-templates select="shop_discount"/> упорно не хочет выводить просто число "10". В итоге я начал уже постить вам простыню с XSL,но тут в редакторе я заметил что????Правильно!!! Еще один СТОКОВЫЙ шаблон вывода процента скидки. ААААААА!!!

<!-- Шаблон для скидки -->
   <xsl:template match="shop_discount">
      <div class="shop_discount">
      <xsl:value-of disable-output-escaping="yes" select="name"/><xsl:text> </xsl:text><span><xsl:value-of select="percent"/>%</span>
      </div>
   </xsl:template>


И он мешал моему созданному выше:


<xsl:template match="shop_discount">
      <xsl:value-of select="round(percent)"/>
   </xsl:template>


Всем спасибо, тема закрыта
Авторизация