Блок похожих товаров

#
Блок похожих товаров
Доброй ночи.

Подскажите пожалуйста, можно ли добавить блок похожих товаров? или аналог
Если можно, в какую часть XML вставлять рейтинг?

Полный XML код

<?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"/>
   
   <!-- СписокЭлементовИнфосистемы -->
   <xsl:template match="/">
      <xsl:apply-templates select="/document"/>
   </xsl:template>
   
   <xsl:template match="/document">
      <!--<xsl:variable name="parent_group_id" select="blocks/parent_group_id"/>-->
      <xsl:variable name="parent_group_id">
         <xsl:choose>
            <xsl:when test="/document/current_group">
               <xsl:value-of select="/document/current_group"/>
            </xsl:when>
            <xsl:otherwise>
               <xsl:value-of select="blocks/parent_group_id"/>
            </xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      
      <xsl:variable name="real_parent_group_id" select="blocks/parent_group_id"/>
      <xsl:variable name="parent_current_group_id" select=".//group[@id=$real_parent_group_id]/@parent_id"/>
      
      <xsl:variable name="dontshowelnames">
         <xsl:choose>
            <xsl:when test=".//group[@id=$real_parent_group_id]/propertys/property[@xml_name='dontshowelnames']/value = 0">0</xsl:when>
            <xsl:otherwise>1</xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      
      <xsl:variable name="cur_page_name">
         <xsl:choose>
            <xsl:when test="$real_parent_group_id = 0"><xsl:value-of disable-output-escaping="yes" select="blocks/name"/></xsl:when>
            <xsl:otherwise><xsl:value-of disable-output-escaping="yes" select=".//group[@id=$real_parent_group_id]/name"/></xsl:otherwise>
         </xsl:choose>
      </xsl:variable>
      
      <div class="products-block" id="content">
         <div class="section">
         <noindex><a href="?print" class="print" rel="nofollow">Распечатать</a></noindex>
            <xsl:choose>
               <xsl:when test="$real_parent_group_id = 0">
                  <h1><xsl:value-of disable-output-escaping="yes" select="$cur_page_name"/></h1>
                  <ul class="tools-list">
                     <xsl:if test="blocks/@id = 28">
                        <li class="konstryktor">
                     <h2><a href="/konstruktor-intererov/" title="Конструктор интерьеров">Конструктор интерьеров<span class="img-holder"><img title="Конструктор интерьеров" alt="Конструктор интерьеров" src="/konstruktor-intererov/konstruktor.png"/></span></a></h2>
                        </li>
                     </xsl:if>
                     <xsl:apply-templates select=".//group[@parent_id=$real_parent_group_id]" mode="onmain"/>
                  </ul>
                  <xsl:if test="blocks/description !=''">
                     <div class="text-container">
                     
                        <xsl:value-of disable-output-escaping="yes" select="blocks/description"/>
                     </div>
                  </xsl:if>
               </xsl:when>
               <xsl:otherwise>
                  <xsl:choose>
                     <xsl:when test=".//group[@id=$real_parent_group_id]/@parent_id = 0">
                        <xsl:choose>
                           <xsl:when test="ph1 !=''">
                              <h1>
                              <xsl:if test=".//group[@id=$real_parent_group_id]/big_image !=''"><span class="pgimgh1"><img src="{.//group[@id=$real_parent_group_id]/big_image}" alt="{$cur_page_name}" title="{$cur_page_name}"/></span></xsl:if>
                                 <xsl:value-of disable-output-escaping="yes" select="ph1"/>
                              </h1>
                           </xsl:when>
                           <xsl:otherwise>
                              <h1>
                              <xsl:if test=".//group[@id=$real_parent_group_id]/big_image !=''"><span class="pgimgh1"><img src="{.//group[@id=$real_parent_group_id]/big_image}" alt="{$cur_page_name}" title="{$cur_page_name}"/></span></xsl:if>
                                 <xsl:value-of disable-output-escaping="yes" select="$cur_page_name"/>
                              </h1>
                           </xsl:otherwise>
                        </xsl:choose>
                     </xsl:when>
                     <xsl:otherwise>
                        <xsl:choose>
                           <xsl:when test="ph1 !=''">
                              <h1><xsl:value-of disable-output-escaping="yes" select="ph1"/></h1>
                           </xsl:when>
                           <xsl:otherwise>
                              <h1><xsl:value-of disable-output-escaping="yes" select="$cur_page_name"/></h1>
                           </xsl:otherwise>
                        </xsl:choose>
                     </xsl:otherwise>
                  </xsl:choose>
                  <xsl:if test="blocks/items/current_page = 0">
                     <xsl:choose>
                        <xsl:when test="pdescription !=''">
                           <div class="text-container">
                           <span style="cursor:pointer;" href="#" class="showformraschet"><img width="130" src="/images/Button-order-BIG.png"/></span>
                              <xsl:if test="$parent_current_group_id != 0 and .//group[@id=$real_parent_group_id]/small_image!=''">
                              <div class="img-holder"><a href="{.//group[@id=$real_parent_group_id]/big_image}" title="{name}"><img src="{.//group[@id=$real_parent_group_id]/small_image}" alt="{.//group[@id=$real_parent_group_id]/name}" title="{.//group[@id=$real_parent_group_id]/name}" /></a></div>
                              </xsl:if>
                              <xsl:value-of disable-output-escaping="yes" select="pdescription"/>
                              <xsl:if test=".//group[@id=$real_parent_group_id]/small_image!=''"><div class="clear"/></xsl:if>
                           </div>
                        </xsl:when>
                        <xsl:when test="pdescription ='' and .//group[@id=$real_parent_group_id]/description !=''">
                           <div class="text-container">
                              <xsl:if test="$parent_current_group_id != 0 and .//group[@id=$real_parent_group_id]/small_image!=''">
                              <div class="img-holder"><a href="{.//group[@id=$real_parent_group_id]/big_image}" title="{name}"><img src="{.//group[@id=$real_parent_group_id]/small_image}" alt="{.//group[@id=$real_parent_group_id]/name}" title="{.//group[@id=$real_parent_group_id]/name}" /></a></div>
                              </xsl:if>
                              <xsl:value-of disable-output-escaping="yes" select=".//group[@id=$real_parent_group_id]/description"/>
                              <xsl:if test=".//group[@id=$real_parent_group_id]/small_image!=''"><div class="clear"/></xsl:if>
                           </div>
                        </xsl:when>
                     </xsl:choose>
                  </xsl:if>
                  <xsl:if test="count(.//group[@parent_id=$real_parent_group_id]) &gt; 0">
                     <ul class="category-list">
                        <xsl:apply-templates select=".//group[@parent_id=$real_parent_group_id]"><xsl:with-param name="subgroup-format" select=".//group[@id=$real_parent_group_id]/propertys/property[@xml_name='subgroup-format']/value"/></xsl:apply-templates>
                     </ul>
                  </xsl:if>
                  
                  <!-- Выбор формата вывода элементов -->
                  <xsl:if test="blocks/items/count_items &gt; 0">
                     <xsl:choose>
                        <!-- Если по одному элементу в строку -->
                        <xsl:when test=".//group[@id=$real_parent_group_id]/propertys/property[@xml_name='format-show-item']/value_list_id = 18">
                           <ul class="services-listing">
                              <xsl:apply-templates select="blocks/items/item" mode="oneitem"/>
                           </ul>
                        </xsl:when>
                        <!-- Если формат галерея -->
                        <xsl:when test=".//group[@id=$real_parent_group_id]/propertys/property[@xml_name='format-show-item']/value_list_id = 70">
                           <ul class="products-listing products-listing01">
                              <xsl:apply-templates select="blocks/items/item" mode="gallery"><xsl:with-param name="dontshowelnames" select="$dontshowelnames"/></xsl:apply-templates>
                           </ul>
                        </xsl:when>
                        <!-- Если по пять элементов в строку (По-уолчанию) -->
                        <xsl:otherwise>
                           <ul class="products-listing">
                              <xsl:apply-templates select="blocks/items/item"><xsl:with-param name="dontshowelnames" select="$dontshowelnames"/></xsl:apply-templates>
                           </ul>
                        </xsl:otherwise>
                     </xsl:choose>
                  </xsl:if>
                  
                  <xsl:if test="blocks/items/count_items &gt; blocks/items/items_on_page">
                     <!-- Ссылка, для которой дописываются суффиксы page-XX/ -->
                     <xsl:variable name="link">
                        <xsl:value-of select="/document/blocks/url"/>
                        <xsl:if test="$parent_group_id != 0">
                           <xsl:value-of select=".//group[@id=$real_parent_group_id]/fullpath"/>
                        </xsl:if>
                     </xsl:variable>
                     
                     <xsl:variable name="count_pages" select="ceiling(blocks/items/count_items div blocks/items/items_on_page)"/>
                     
                     <xsl:variable name="visible_pages" select="5"/>
                     
                     <xsl:variable name="real_visible_pages">
                        <xsl:choose>
                           <xsl:when test="$count_pages &lt; $visible_pages"><xsl:value-of select="$count_pages"/></xsl:when>
                           <xsl:otherwise><xsl:value-of select="$visible_pages"/></xsl:otherwise>
                        </xsl:choose>
                     </xsl:variable>
                     
                     <!-- Считаем количество выводимых ссылок перед текущим элементом -->
                     <xsl:variable name="pre_count_page">
                        <xsl:choose>
                           <xsl:when test="blocks/items/current_page  - (floor($real_visible_pages div 2)) &lt; 0">
                              <xsl:value-of select="blocks/items/current_page"/>
                           </xsl:when>
                           <xsl:when test="($count_pages  - blocks/items/current_page - 1) &lt; floor($real_visible_pages div 2)">
                              <xsl:value-of select="$real_visible_pages - ($count_pages  - blocks/items/current_page - 1) - 1"/>
                           </xsl:when>
                           <xsl:otherwise>
                              <xsl:choose>
                                 <xsl:when test="round($real_visible_pages div 2) = $real_visible_pages div 2">
                                    <xsl:value-of select="floor($real_visible_pages div 2) - 1"/>
                                 </xsl:when>
                                 <xsl:otherwise>
                                    <xsl:value-of select="floor($real_visible_pages div 2)"/>
                                 </xsl:otherwise>
                              </xsl:choose>
                           </xsl:otherwise>
                        </xsl:choose>
                     </xsl:variable>
                     
                     <!-- Считаем количество выводимых ссылок после текущего элемента -->
                     <xsl:variable name="post_count_page"><xsl:choose>
                           <xsl:when test="0 &gt; blocks/items/current_page - (floor($real_visible_pages div 2) - 1)">
                              <xsl:value-of select="$real_visible_pages - blocks/items/current_page - 1"/>
                           </xsl:when>
                           <xsl:when test="($count_pages  - blocks/items/current_page - 1) &lt; floor($real_visible_pages div 2)">
                              <xsl:value-of select="$real_visible_pages - $pre_count_page - 1"/>
                           </xsl:when>
                           <xsl:otherwise>
                              <xsl:value-of select="$real_visible_pages - $pre_count_page - 1"/>
                           </xsl:otherwise>
                     </xsl:choose></xsl:variable>
                     
                     <xsl:variable name="i"><xsl:choose>
                           <xsl:when test="blocks/items/current_page + 1 = $count_pages"><xsl:value-of select="blocks/items/current_page - $real_visible_pages + 1"/></xsl:when>
                           <xsl:when test="blocks/items/current_page - $pre_count_page &gt; 0"><xsl:value-of select="blocks/items/current_page - $pre_count_page"/></xsl:when>
                           <xsl:otherwise>0</xsl:otherwise>
                     </xsl:choose></xsl:variable>
                     
                     <xsl:variable name="group_link">
                        <xsl:choose>
                           <!-- Если группа не корневая (!=0) -->
                           <xsl:when test="$real_parent_group_id != 0">
                              <xsl:value-of select=".//group[@id=$real_parent_group_id]/fullpath"/>
                           </xsl:when>
                           <!-- Иначе если нулевой уровень - просто ссылка на страницу со списком элементов -->
                           <xsl:otherwise></xsl:otherwise>
                        </xsl:choose>
                     </xsl:variable>
                     
                     <!-- чзх -->
                     <div class="paging-holder paging-frame">
                        <!-- Если все уместилось на одной странице, навигацию не выводим-->
                        <xsl:if test = "$real_visible_pages &gt; 1">
                           <span class="pages">Страницы:&#160;</span>
                           <ul class="paging">
                              <li class="prev">
                                 <xsl:choose>
                                    <xsl:when test="blocks/items/current_page &gt; 0">
                                       <xsl:variable name="prev_page_url">
                                          <xsl:value-of select="/document/blocks/url"/>
                                          <xsl:value-of select="$group_link"/>
                                          <xsl:choose>
                                             <xsl:when test="(blocks/items/current_page - 1) = 0">
                                             </xsl:when>
                                             <xsl:otherwise>
                                                page-<xsl:value-of select="blocks/items/current_page"/>/
                                             </xsl:otherwise>
                                          </xsl:choose>
                                          
                                       </xsl:variable>
                                       <a href="{$prev_page_url}" class="pag-prev">Предыдущая</a>
                                    </xsl:when>
                                    <xsl:otherwise></xsl:otherwise>
                                 </xsl:choose>
                              </li>
                              <xsl:call-template name="for">
                                 <xsl:with-param name="items_on_page" select="blocks/items/items_on_page"/>
                                 <xsl:with-param name="current_page" select="blocks/items/current_page"/>
                                 <xsl:with-param name="count_items" select="blocks/items/count_items"/>
                                 <xsl:with-param name="i" select="$i"/>
                                 <xsl:with-param name="post_count_page" select="$post_count_page"/>
                                 <xsl:with-param name="pre_count_page" select="$pre_count_page"/>
                                 <xsl:with-param name="visible_pages" select="$real_visible_pages"/>
                                 <xsl:with-param name="current_group_path"><xsl:value-of select="blocks/url"/><xsl:value-of select=".//group[@id=$real_parent_group_id]/fullpath"/></xsl:with-param>
                              </xsl:call-template>
                              <li class="next">
                                 <xsl:choose>
                                    <xsl:when test="(blocks/items/current_page + 1) &lt; $count_pages">
                                       
                                       <xsl:variable name="next_page_url">
                                          <xsl:value-of select="/document/blocks/url"/>
                                          <xsl:value-of select="$group_link"/>
                                          page-<xsl:value-of select="blocks/items/current_page + 2"/>/
                                       </xsl:variable>
                                       
                                       <a href="{$next_page_url}" class="pag-next">Следующая</a>
                                    </xsl:when>
                                    <xsl:otherwise></xsl:otherwise>
                                 </xsl:choose>
                              </li>
                           </ul>
                        </xsl:if> <!-- / Если все уместилось на одной странице, навигацию не выводим  -->
                     </div> <!-- -->
                  </xsl:if>
                  
                  <xsl:if test="ptext != '' and blocks/items/current_page = 0">
                     <div class="text-container">
                     
                        <xsl:value-of disable-output-escaping="yes" select="ptext"/>
                     </div>
                  </xsl:if>
                  
                  <xsl:if test="count(.//group[@parent_id!=0][@parent_id!=$parent_group_id][@id!=$parent_group_id])">
                     <div class="tab-area">
                        <ul class="tabset">
                        <li><span>Смотрите также:</span></li>
                           <xsl:apply-templates select=".//group[@parent_id!=0][@parent_id!=$parent_group_id][@id!=$parent_group_id]" mode="parallel_group"/>
                        </ul>
                     </div>
                  </xsl:if>
                  <xsl:variable name="backlink_parent" select=".//group[@id=$real_parent_group_id]/@parent_id"/>
                  <xsl:variable name="backlink">
                     <xsl:choose>
                        <!-- Если группа не корневая (!=0) -->
                        <xsl:when test="$real_parent_group_id != 0">/<xsl:value-of select=".//group[@id=$backlink_parent]/fullpath"/></xsl:when>
                        <!-- Иначе если нулевой уровень - просто ссылка на страницу со списком элементов -->
                        <xsl:otherwise><xsl:value-of select="blocks/url"/></xsl:otherwise>
                     </xsl:choose>
                  </xsl:variable>
                  <div class="tab-area">
                     <a href="javascript:history.go(-1);" class="backlink">Назад</a>
                  </div>
                  <!-- / ВЛАСТЕЛИН СТРАНИЦ-->
               </xsl:otherwise>
            </xsl:choose>
         </div>
      </div>
   </xsl:template>
   
   <xsl:template match="group" mode="parallel_group">
      <xsl:variable name="real_current_group_id" select="/document/real_current_group_id"/>
      <li>
      <!--<xsl:if test="@id = $real_current_group_id"><xsl:attribute name="class">active</xsl:attribute></xsl:if>-->
   <a href="{/document/blocks/url}{fullpath}"><span><xsl:value-of select="name"/></span></a></li>
   </xsl:template>
   
   <!-- Шаблон вывода информационного элемента -->
   <xsl:template match="blocks/items/item">
      <xsl:param name="dontshowelnames"/>
      <li>
         <xsl:choose>
            <xsl:when test="$dontshowelnames = 1">
               <xsl:if test="position() mod 6 = 0">
                  <xsl:attribute name="class">last</xsl:attribute>
               </xsl:if>
            </xsl:when>
            <xsl:when test="$dontshowelnames = 0">
               <xsl:choose>
                  <xsl:when test="position() mod 6 = 0">
                     <xsl:attribute name="class">last withname</xsl:attribute>
                  </xsl:when>
                  <xsl:otherwise>
                     <xsl:attribute name="class">withname</xsl:attribute>
                  </xsl:otherwise>
               </xsl:choose>
            </xsl:when>
         </xsl:choose>
         <a href="{item_image}" title="{item_name}">
            <xsl:choose>
               <xsl:when test="/document/blocks/@id = 28">
                  <i><img src="{item_small_image}" alt="{item_name}" title="{item_name}"/></i>
               </xsl:when>
               <xsl:otherwise>
                  <img src="{item_small_image}" alt="{item_name}" title="{item_name}" class="plimg2"/>
               </xsl:otherwise>
            </xsl:choose>
         <xsl:if test="$dontshowelnames = 0"><span class="name"><xsl:value-of disable-output-escaping="yes" select="item_name"/></span></xsl:if>
         </a>
      <xsl:if test="item_description != ''"><div style="font-style: italic;"><xsl:value-of disable-output-escaping="yes" select="item_description"/></div></xsl:if>
      </li>
   </xsl:template>
   
   <xsl:template match="blocks/items/item" mode="gallery">
      <xsl:param name="dontshowelnames"/>
      <li>
         <xsl:choose>
            <xsl:when test="$dontshowelnames = 1">
               <xsl:if test="position() mod 4 = 0">
                  <xsl:attribute name="class">last</xsl:attribute>
               </xsl:if>
            </xsl:when>
            <xsl:when test="$dontshowelnames = 0">
               <xsl:choose>
                  <xsl:when test="position() mod 4 = 0">
                     <xsl:attribute name="class">last withname</xsl:attribute>
                  </xsl:when>
                  <xsl:otherwise>
                     <xsl:attribute name="class">withname</xsl:attribute>
                  </xsl:otherwise>
               </xsl:choose>
            </xsl:when>
         </xsl:choose>
         <a href="{item_image}" title="{item_name}">
            <img src="{item_small_image}" alt="{item_name}" title="{item_name}"/>
         <xsl:if test="$dontshowelnames = 0"><span class="name"><xsl:value-of disable-output-escaping="yes" select="item_name"/></span></xsl:if>
         </a>
      <xsl:if test="item_description != ''"><em><xsl:value-of disable-output-escaping="yes" select="item_description"/></em></xsl:if>
      </li>
   </xsl:template>
   
   <xsl:template match="blocks/items/item" mode="oneitem">
      <li>
         <a href="{item_image}" class="img-holder" title="{item_name}"><img src="{item_small_image}" alt="{item_name}" title="{item_name}" /></a>
         <div class="description">
            <h3><xsl:value-of disable-output-escaping="yes" select="item_name"/></h3>
            <xsl:value-of disable-output-escaping="yes" select="item_description"/>
            <xsl:if test="item_propertys/item_property[@xml_name='price-for-item']/value !=''">
            <p class="price"><xsl:value-of disable-output-escaping="yes" select="item_propertys/item_property[@xml_name='price-for-item']/property_name"/>:&#160;от <span><xsl:value-of disable-output-escaping="yes" select="item_propertys/item_property[@xml_name='price-for-item']/value"/></span> руб.</p>
            </xsl:if>
         </div>
         <div class="clear"/>
      </li>
   </xsl:template>
   
   <xsl:template match="group">
      <xsl:param name="subgroup-format"/>
      <xsl:variable name="label_path" select="propertys/property[@xml_name='label']/item/item_path"/>
      <xsl:variable name="label_path_field" select="propertys/property[@xml_name='label']/item/item_path_field"/>
      <li>
      <xsl:if test="position() mod 2 = 0"><xsl:attribute name="class">last</xsl:attribute></xsl:if>
         <xsl:choose>
            <xsl:when test="$subgroup-format = 0">
               <xsl:if test="small_image!=''">
                  <div class="img-holder"><img src="{small_image}" alt="{name}" title="{name}" width="120" /></div>
               </xsl:if>
            </xsl:when>
            <xsl:otherwise>
               <xsl:if test="small_image!=''">
                  <div class="img-holder">
                     <a title="{name}">
                        <xsl:choose>
                        <xsl:when test="$label_path"><xsl:attribute name="href"><xsl:value-of disable-output-escaping="yes" select="substring-before($label_path, $label_path_field)"/></xsl:attribute></xsl:when>
                        <xsl:otherwise><xsl:attribute name="href"><xsl:value-of disable-output-escaping="yes" select="/document/blocks/url"/><xsl:value-of disable-output-escaping="yes" select="fullpath"/></xsl:attribute></xsl:otherwise>
                        </xsl:choose>
                     <img src="{small_image}" alt="{name}" title="{name}" width="120" /></a></div>
               </xsl:if>
            </xsl:otherwise>
         </xsl:choose>
         
         <div class="description-holder">
            <div class="description">
               <xsl:choose>
                  <xsl:when test="$subgroup-format = 0">
                     <h2><xsl:value-of disable-output-escaping="yes" select="name"/></h2>
                  </xsl:when>
                  <xsl:otherwise>
                     <h2>
                        <a class="name" title="{name}">
                           <xsl:choose>
                           <xsl:when test="$label_path"><xsl:attribute name="href"><xsl:value-of disable-output-escaping="yes" select="substring-before($label_path, $label_path_field)"/></xsl:attribute></xsl:when>
                           <xsl:otherwise><xsl:attribute name="href"><xsl:value-of disable-output-escaping="yes" select="/document/blocks/url"/><xsl:value-of disable-output-escaping="yes" select="fullpath"/></xsl:attribute></xsl:otherwise>
                           </xsl:choose>
                           <xsl:value-of disable-output-escaping="yes" select="name"/>
                        </a>
                     </h2>
                  </xsl:otherwise>
               </xsl:choose>
               <xsl:if test="description!=''">
                  <xsl:choose>
                     <xsl:when test="contains(description, '&lt;p&gt;')">
                        <xsl:value-of disable-output-escaping="yes" select="description"/>
                     </xsl:when>
                     <xsl:otherwise>
                        <p><xsl:value-of disable-output-escaping="yes" select="description"/></p>
                     </xsl:otherwise>
                  </xsl:choose>
               </xsl:if>
               <xsl:if test="propertys/property[@xml_name='price']/value !=''">
               <p class="price"><xsl:value-of disable-output-escaping="yes" select="propertys/property[@xml_name='price']/name"/>&#160;<span><xsl:value-of disable-output-escaping="yes" select="propertys/property[@xml_name='price']/value"/></span>&#160;<xsl:value-of disable-output-escaping="yes" select="propertys/property[@xml_name='mesure']/value"/></p>
               <a href="#" class="showformraschet"><img width="90" src="/images/Button-order-BIG.png"/></a>
               </xsl:if>
               <xsl:if test="propertys/property[@xml_name='arhiv']/property_file_path !=''">
                  <a href="{propertys/property[@xml_name='arhiv']/property_file_path}">Скачать фотоальбом "<xsl:value-of disable-output-escaping="yes" select="propertys/property[@xml_name='arhiv']/value"/>"</a>
               </xsl:if>
            </div>
         </div>
      </li>
   </xsl:template>
   
   <xsl:template match="group" mode="onmain">
      <li>
         <h2>
            <a href="{/document/blocks/url}{fullpath}">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
               <xsl:if test="big_image!=''">
                  <span class="img-holder"><img src="{big_image}" alt="{name}" title="{name}"/></span>
               </xsl:if>
            </a>
         </h2>
         <xsl:if test="description!=''">
            <xsl:choose>
               <xsl:when test="contains(description, '&lt;p&gt;')">
                  <xsl:value-of disable-output-escaping="yes" select="description"/>
               </xsl:when>
               <xsl:otherwise>
                  <p><xsl:value-of disable-output-escaping="yes" select="description"/></p>
               </xsl:otherwise>
            </xsl:choose>
         </xsl:if>
      </li>
   </xsl:template>
   
   <!-- Цикл для вывода строк ссылок -->
   <xsl:template name="for">
      <xsl:param name="items_on_page"/>
      <xsl:param name="current_page"/>
      <xsl:param name="pre_count_page"/>
      <xsl:param name="post_count_page"/>
      <xsl:param name="i" select="0"/>
      <xsl:param name="count_items"/>
      <xsl:param name="visible_pages"/>
      <xsl:param name="current_group_path"/>
      
      <xsl:variable name="n" select="ceiling($count_items div $items_on_page)"/>
      
      <xsl:variable name="start_page"><xsl:choose>
            <xsl:when test="$current_page + 1 = $n"><xsl:value-of select="$current_page - $visible_pages + 1"/></xsl:when>
            <xsl:when test="$current_page - $pre_count_page &gt; 0"><xsl:value-of select="$current_page - $pre_count_page"/></xsl:when>
            <xsl:otherwise>0</xsl:otherwise>
      </xsl:choose></xsl:variable>
      
      <xsl:if test="$count_items &gt; $items_on_page and ($current_page + $post_count_page + 1) &gt; $i">
         <!-- Заносим в переменную $parent_group_id идентификатор текущей группы -->
         <xsl:variable name="real_parent_group_id" select="/document/blocks/parent_group_id"/>
         
         <!-- Определяем группу для формирования адреса ссылки
         <xsl:variable name="group_link" select="./group[@id=$parent_group_id]/fullpath"/> -->
         
         <!-- Определяем адрес ссылки -->
         <xsl:variable name="number_link">
            <xsl:choose>
               <!-- Если не нулевой уровень -->
               <xsl:when test="$i != 0">page-<xsl:value-of select="$i + 1"/>/</xsl:when>
               <!-- Иначе если нулевой уровень - просто ссылка на страницу со списком элементов -->
               <xsl:otherwise></xsl:otherwise>
            </xsl:choose>
         </xsl:variable>
         
         
         <!-- Ставим ссылку на страницу-->
         <xsl:if test="$i != $current_page">
            <xsl:if test="($current_page - $pre_count_page) &lt;= $i and $i &lt; $n">
               <!-- Выводим ссылки на видимые страницы -->
               <li>
                  <a href="{$current_group_path}{$number_link}">
                     <xsl:value-of select="$i + 1"/>
                  </a>
               </li>
            </xsl:if>
            
            <!-- Выводим ссылку на последнюю страницу -->
            <xsl:if test="$i+1 &gt;= ($current_page + $post_count_page + 1) and $n &gt; ($current_page + 1 + $post_count_page)">
               <li>...</li>
            <li><a href="{$current_group_path}page-{$n}/"><xsl:value-of select="$n"/></a></li>
            </xsl:if>
         </xsl:if>
         
         <!-- Не ставим ссылку на страницу-->
         <xsl:if test="$i = $current_page">
            <li class="active">
               <strong><xsl:value-of select="$i+1"/></strong>
            </li>
         </xsl:if>
         
         <!-- Рекурсивный вызов шаблона. НЕОБХОДИМО ПЕРЕДАВАТЬ ВСЕ НЕОБХОДИМЫЕ ПАРАМЕТРЫ! -->
         <xsl:call-template name="for">
            <xsl:with-param name="i" select="$i + 1"/>
            <xsl:with-param name="items_on_page" select="$items_on_page"/>
            <xsl:with-param name="current_page" select="$current_page"/>
            <xsl:with-param name="count_items" select="$count_items"/>
            <xsl:with-param name="pre_count_page" select="$pre_count_page"/>
            <xsl:with-param name="post_count_page" select="$post_count_page"/>
            <xsl:with-param name="visible_pages" select="$visible_pages"/>
            <xsl:with-param name="current_group_path"><xsl:value-of select="blocks/url"/><xsl:value-of select=".//group[@id=$real_parent_group_id]/fullpath"/></xsl:with-param>
         </xsl:call-template>
      </xsl:if>
   </xsl:template>
</xsl:stylesheet>
Авторизация