Сортировка проблема при повторном вызове

#
Сортировка проблема при повторном вызове
У меня такая проблема приходиться 2 раза в шаблоне выводить сортировку магазина по цене и имени. При этом выскакивает такой лаг в работе...

?sorting=2&sorting=1
Skype:ferdinant1988 ICQ:311960596 E-mail: ferdinant@i.ua
#
Re: Сортировка проблема при повторном вызове
Лаг в том, что get два раза вписывается или в чем?
Модератор
#
Re: Сортировка проблема при повторном вызове
Непонятно что значит два раза выводить сортировку. Блок сортировки в двух местах одной и той же формы? Разделить на две идентичность формы
#
Re: Сортировка проблема при повторном вызове

         <form method="get" action="{$path}{$form_tag_url}">
            <div class="sort">
               <div style="float:left;">
                  <span>сортировать:</span>
                  <select name="sorting" onchange="$(this).parents('form:first').submit()" >
                     <option disabled="disabled" class="stylish-select">Сортировать</option>
                     <option value="1" >
                        <xsl:if test="/shop/sorting = 1">
                           <xsl:attribute name="selected">selected</xsl:attribute>
                        </xsl:if>
                        По цене &#8595;
                     </option>
                     <option value="2">
                        <xsl:if test="/shop/sorting = 2">
                           <xsl:attribute name="selected">selected</xsl:attribute>
                        </xsl:if>
                        По цене &#8593;
                     </option>
                     <option value="3">
                        <xsl:if test="/shop/sorting = 3">
                           <xsl:attribute name="selected">selected</xsl:attribute>
                        </xsl:if>
                        По названию
                     </option>
                  </select>
               </div>
               
               <xsl:if test="total &gt; 0 and limit &gt; 0">
                  
                  <xsl:variable name="count_pages" select="ceiling(total div limit)"/>
                  
                  <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="page - (floor($real_visible_pages div 2)) &lt; 0">
                           <xsl:value-of select="page"/>
                        </xsl:when>
                        <xsl:when test="($count_pages - page - 1) &lt; floor($real_visible_pages div 2)">
                           <xsl:value-of select="$real_visible_pages - ($count_pages - 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; page - (floor($real_visible_pages div 2) - 1)">
                           <xsl:value-of select="$real_visible_pages - page - 1"/>
                        </xsl:when>
                        <xsl:when test="($count_pages - 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="page + 1 = $count_pages"><xsl:value-of select="page - $real_visible_pages + 1"/></xsl:when>
                        <xsl:when test="page - $pre_count_page &gt; 0"><xsl:value-of select="page - $pre_count_page"/></xsl:when>
                        <xsl:otherwise>0</xsl:otherwise>
                  </xsl:choose></xsl:variable>
                  <div style="float:left;">
                     <i>страницы: </i>
                     <ul class="str">
                        <xsl:call-template name="for">
                           <xsl:with-param name="limit" select="limit"/>
                           <xsl:with-param name="page" select="page"/>
                           <xsl:with-param name="items_count" select="total"/>
                           <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:call-template>
                     </ul>
                  </div>
               </xsl:if>
            </div>
            
            <xsl:apply-templates select="shop_item" />
            
            <div class="sort sort2">
               <div style="float:left;">
                  <span>сортировать:</span>
                  <select name="sorting" onchange="$(this).parents('form:first').submit()" >
                     <option disabled="disabled" class="stylish-select">Сортировать</option>
                     <option value="1" >
                        <xsl:if test="/shop/sorting = 1">
                           <xsl:attribute name="selected">selected</xsl:attribute>
                        </xsl:if>
                        По цене &#8595;
                     </option>
                     <option value="2">
                        <xsl:if test="/shop/sorting = 2">
                           <xsl:attribute name="selected">selected</xsl:attribute>
                        </xsl:if>
                        По цене &#8593;
                     </option>
                     <option value="3">
                        <xsl:if test="/shop/sorting = 3">
                           <xsl:attribute name="selected">selected</xsl:attribute>
                        </xsl:if>
                        По названию
                     </option>
                  </select>
               </div>
               
               <xsl:if test="total &gt; 0 and limit &gt; 0">
                  
                  <xsl:variable name="count_pages" select="ceiling(total div limit)"/>
                  
                  <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="page - (floor($real_visible_pages div 2)) &lt; 0">
                           <xsl:value-of select="page"/>
                        </xsl:when>
                        <xsl:when test="($count_pages - page - 1) &lt; floor($real_visible_pages div 2)">
                           <xsl:value-of select="$real_visible_pages - ($count_pages - 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; page - (floor($real_visible_pages div 2) - 1)">
                           <xsl:value-of select="$real_visible_pages - page - 1"/>
                        </xsl:when>
                        <xsl:when test="($count_pages - 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="page + 1 = $count_pages"><xsl:value-of select="page - $real_visible_pages + 1"/></xsl:when>
                        <xsl:when test="page - $pre_count_page &gt; 0"><xsl:value-of select="page - $pre_count_page"/></xsl:when>
                        <xsl:otherwise>0</xsl:otherwise>
                  </xsl:choose></xsl:variable>
                  <div style="float:left;">
                     <i>страницы: </i>
                     <ul class="str">
                        <xsl:call-template name="for">
                           <xsl:with-param name="limit" select="limit"/>
                           <xsl:with-param name="page" select="page"/>
                           <xsl:with-param name="items_count" select="total"/>
                           <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:call-template>
                     </ul>
                  </div>
               </xsl:if>
            </div>
         </form>
Skype:ferdinant1988 ICQ:311960596 E-mail: ferdinant@i.ua
Модератор
#
Re: Сортировка проблема при повторном вызове
И зачем мне это? Разделите на две разные формы, в каждой по своему блоку сортировки.
Авторизация