Товры в три ряда с фоном через строчку

#
Re: Товры в три ряда с фоном через строчку
Я что-то туплю В стандартном шаблоне есть такой код
<!-- Шаблон для товара -->
         <xsl:template match="item">
            
            
            <!-- Определяем цвет фона -->
            <xsl:variable name="background_color">
               <xsl:choose>
                  <xsl:when test="(position() + 1) mod 2 &gt; 0">#f7f7f7</xsl:when>
                  <xsl:otherwise>#ffffff</xsl:otherwise>
               </xsl:choose>
            </xsl:variable>

Но он почему-то не работает Хотя вроде внутри item...
#
Re: Товры в три ряда с фоном через строчку
Здравствуйте! У меня похожий вопрос.. Нужно отделить строчки по три товара в каждом горизонтальной чертой — не соображу как. Подскажите пожалуйста!

Вот шаблон:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   <xslecimal-format name="my" decimal-separator="," grouping-separator=" "/>
   
   <!-- МагазинКаталогТоваровНаГлавнойСпецПред -->
   <xsl:template match="/">
      <xsl:apply-templates select="/shop"/>
   </xsl:template>
   
   <!-- Шаблон для магазина -->
   <xsl:template match="/shop">
      <div class="products_main">
         <!-- Есть товары -->
         <xsl:if test="item">
         <p class="title"><span>Специальное</span> предложение</p>
            
            <!-- Выводим товары магазина -->
            <ul class="shop_item">
               <xsl:apply-templates select="item"/>
               <div style="clear:both"></div>
            </ul>
         </xsl:if>
      </div>
   </xsl:template>
   
   <!-- Шаблон для товара -->
   <xsl:template match="item">
      <li>
         
         <!-- Указана малое изображение -->
         <xsl:if test="small_image != ''">
            <a href="{/shop/path}{fullpath}{path}/" class="img_border">
               <img src="{small_image}" alt="{name}" title="{name}" class="image"/>
            </a>
            
         </xsl:if>
         
         <!-- Ссылка на товар -->
         <p style="height: 57px;">
            <a href="{/shop/path}{fullpath}{path}/" title="{name}">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </a>
         </p>
         <div class="descrip_p" style="height: 40px;
            overflow: hidden;">
            <xsl:value-of disable-output-escaping="yes" select="description" />
         </div>
         
         <ul class="price">
            <!-- Цена -->
            <xsl:choose>
               <xsl:when test="price_tax != price_discount">
                  <li class="dataSuper">
                     <xsl:variable name="price" select="price_discount"/>
                     <xsl:value-of select="format-number($price, '### ##0', 'my'"/>&#xA0;р.<span>СУПЕР ЦЕНА</span>
                  </li>
               </xsl:when>
               <xsl:otherwise>
                  <li class="data">
                     <xsl:variable name="price_tax" select="price_tax"/>
                     <xsl:value-of select="format-number($price_tax, '### ##0', 'my'"/>&#xA0;р.
                  </li>
               </xsl:otherwise>
            </xsl:choose>
            
            <!-- Ссылку на добавление в корзины выводим, если:
            type = 0 - простой тип товара
            type = 1 - электронный товар, при этом остаток на складе больше 0 или -1,
            что означает неограниченное количество -->
            <xsl:if test="type = 0 or (type = 1 and (eitem_count > 0 or eitem_count = -1))">
               <li class="addCart"><a href="{/shop/path}cart/?action=add&amp;item_id={@id}" class="add" id="add_cart" onclick="return AddIntoCart('{/shop/path}', {@id}, 1)">
                     <!--<img alt="В корзину" title="В корзину" src="/images/addCartCyan.png"/>-->
                  </a>
                  <a href="#" class="info"><!--<img src="/images/infoColor.png" style="margin-left:5px;" />--></a>
                  
            </li></xsl:if>
         </ul>
         
      </li>
      
   </xsl:template>
   
</xsl:stylesheet>
#
Re: Товры в три ряда с фоном через строчку
После закрывающей LI

  <xsl:if test="(position() + 1) mod 3 &gt; 0">
<li style="clear:both; border-bottom:red 1px solid"></li>
</xsl:if>
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Товры в три ряда с фоном через строчку
Так не получается, слетает все.
#
Re: Товры в три ряда с фоном через строчку
там несколько вложенных UL, вставте в тот который относится к товарам
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Товры в три ряда с фоном через строчку
Не выходит каменный цветок.. я куда только не вставлял. Похоже, что малой кровью не получится решить вопрос.
#
Re: Товры в три ряда с фоном через строчку
перед этой строчкой вставте

   </xsl:template>
</xsl:stylesheet>
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Товры в три ряда с фоном через строчку
Спасибо) Это я первым делом проделал - не выходит. Нужно шаблон переписывать.
#
Re: Товры в три ряда с фоном через строчку
может по разному "невыходить", смотрели код?
<li style="clear:both; border-bottom:red 1px solid"></li>  появляется там где нужно?
разработка сайтов, фирменных стилей, интерфейсов
#
Re: Товры в три ряда с фоном через строчку
Вы знаете, я полагал что вопрос можно просто решить, вставив пару строк в нужное место, посему написал.  Для более осмысленной работы с кодом у меня нет знаний - не программист я. Метод "научного тыка" основанный на интуитивном представлении и понимании, как сделать, чтоб было куда вернуться - вот предел сегодняшний мой.
Если есть желающие поспособствовать - пишите: jvyqebire@lnaqrk.eh
Обсудим, что, как и за сколько.
Авторизация