Кол-во элементов в ряд в галерее

#
Кол-во элементов в ряд в галерее
Почему в списке групп "Число элементов в строку" никак не влияет на цифру, указанную в коде? А в списке фотографий это работает.
XSL-шаблон #11 в демо версии:
<xsl:variable name="items_in_line" select="3"/>

Любая цифра не меняет этой ситуации.
www.dsaleks.ru - создание сайтов и интернет-магазинов
#
Re: Кол-во элементов в ряд в галерее
Ответьте, пожалуйста! Это важно. У меня все плывет на разных экранах, т.е. группы переносятся на другую строку.
Попробовал в таблицу заключить. Вышло так: список фотографий заключился в таблицу, а вот группы никак не заключаются в таблицу.
www.dsaleks.ru - создание сайтов и интернет-магазинов
#
Re: Кол-во элементов в ряд в галерее
В XSL-шаблоне, в обработчике для групп,
<xsl:template match="group" mode="groups">

перед закрытием обработчика допишите:
<xsl:if test="position() mod 3 = 0">
    <div style="clear: left;"></div>
</xsl:if>

(3 - число элементов в строку)

То есть обработчик для групп должен принять примерно такой вид:
<xsl:template match="group" mode="groups">
    <div class="group_gallery">
        <div class="t"></div>
        <div class="r"></div>
        <div class="b"></div>
        <div class="l"></div>
        <xsl:if test="small_image!=''">
            <a href="{/document/blocks/url}{fullpath}"><img src="{small_image}"/><br/></a>&#xA0;
        </xsl:if>
        <a href="{/document/blocks/url}{fullpath}"><b><xsl:value-of disable-output-scaping="yes" select="name"/></b></a>&#xA0;
        <span style="color: #b7af9c">(<xsl:value-of select="count_all_items"/>)</span>
    </div>
    <xsl:if test="position() mod 3 = 0">
        <div style="clear: left;"></div>
    </xsl:if>
</xsl:template>
#
Re: Кол-во элементов в ряд в галерее
Все равно переносит строки, только теперь переносит так: непомещающийся элемент переносит, но следующую строку выводит заново, не сливает все строки, как было.
Если бы строки объединить в таблицу, такого бы не было, но я не смог заключить в таблицу.
www.dsaleks.ru - создание сайтов и интернет-магазинов
#
Re: Кол-во элементов в ряд в галерее
Для заключения в таблицу, нужно создать таблицу перед выводом обработчика для групп:
<table border="0" cellspacing="0" cellpadding="0">
   <tr>
      <xsl:apply-templates select=".//group[@parent_id=$parent_group_id]" mode="groups"/>
   </tr>
</table>


Обработчик должен принять вид подобный примеру:
<xsl:template match="group" mode="groups">
   <td>
      <div class="group_gallery">
         <div class="t"></div>
         <div class="r"></div>
         <div class="b"></div>
         <div class="l"></div>
         <xsl:if test="small_image!=''">
            <a href="{/document/blocks/url}{fullpath}"><img src="{small_image}"/><br/></a>&#xA0;
         </xsl:if>
         <a href="{/document/blocks/url}{fullpath}"><b><xsl:value-of disable-output-scaping="yes" select="name"/></b></a>&#xA0;
         <span style="color: #b7af9c">(<xsl:value-of select="count_all_items"/>)</span>
      </div>
   </td>

   <!-- Перевод строки после каждого 3-го элемента -->
   <xsl:if test="position() mod 3 = 0">
      <xsl:text disable-output-escaping="yes">
         &lt;/tr&gt;
         &lt;tr&gt;
      </xsl:text>
   </xsl:if>
</xsl:template>
#
Re: Кол-во элементов в ряд в галерее
Вот огромное СПАСИБО!
Я верил в Вас! Все работает как часы!
Я думаю, неплохо было бы вывести это в админку: отображать таблицей или списком; если таблицей, то сколько колонок; если списком, то так как сейчас.
www.dsaleks.ru - создание сайтов и интернет-магазинов
#
Re: Кол-во элементов в ряд в галерее
Всегда пожалуйста.
Авторизация