PdoResources. Оборачивать в div каждые 3 элемента

Здравствуйте!
Едут новости на сайте
xn--3-9sb0at.xn--p1ai/news/

Верстальщик предлагает каждым 3 новостям задать отдельный блок(row). Как это можно реализовать средствами pdoTools?
Спасибо.
Сергей
02 декабря 2014, 19:07
modx.pro
3
6 778
0

Комментарии: 9

Василий Наумкин
02 декабря 2014, 22:15
0
Никак.

Могу предложить верстальщику только nth-child.
    Fi1osof
    03 декабря 2014, 01:17
    -1
    Пища для размышлений: modxclub.ru/topics/cziklyi-i-razbivka-po-kolonkam-1279.html
      Виталий Киреев
      03 декабря 2014, 05:34
      1
      0
      Можно в чанк rowTpl добавить примерно следующее
      [[[+idx:mod=`3`:is=`1`:then=`<div class="row">`]]
      ...
      [[+idx:mod=`3`:is=`0`:then=`</div>`:else=`[[+idx:is=`[[+total]]`:then=`</div>`]]`]]
        Максим Кузнецов
        03 декабря 2014, 06:12
        0
        Могу ошибаться, но: docs.modx.pro/components/pdotools/general-settings — разве для вашей задачи частично не подойдет параметр &tpl_nN?
          Василий Наумкин
          03 декабря 2014, 06:51
          0
          Нужно обернуть 3 строки. То есть, в первой строке открыть тег, а в третьей закрыть.

          Для этого можно использовать &tpl_nN, но что будет, если выборка вернёт 5 строк? Ведь тег должен закрыться в 6й.

          Короче, извратиться-то можно, но это именно что перекладывание работы верстальщика на плечи программиста.
          Руслан Кундиус
          03 декабря 2014, 07:04
          +2
          &tplFirst — открыть
          &tpl_n3 — закрыть, открыть
          &tplLast — закрыть

          Но лучше для таких целей использовать nth-child, например сбрасывать обтекание у nth-child(3n+1)
            Максим Кузнецов
            03 декабря 2014, 07:25
            0
            Если опустить оптимизацию, можно через api написать сниппет, запускающий pdoTools и смотреть параметр total, после чего делить его на 3, определять остаток и в return возвращать полученное количество дивов, в которые заключать плейсхолдеры. [[+myPlN]]
              Василий Наумкин
              03 декабря 2014, 07:48
              0
              Кстати, да — вот так будет работать без проблем.

              Что-то подзабыл я уже про такие фокусы.
              De Ribaskin
              03 декабря 2014, 09:30
              1
              0
              Запрос:
              [[pdoResources?
              	&parents=`15`
              	&tpl=`Новости_tpl`
              	&tplWrapper=`Новости_wrapper_3x`
              
              	&limit=`15`
              	&panel=`15`
              	&modulus=`3`
              ]]

              Новости_tpl
              <div class="item">
              	<a href="[[~[[+id]]]]" title="[[+menutitle]]">[[+pagetitle]]</a>
              </div>
              [[+idx:ne=`[[+panel]]`:and:mod=`[[+modulus]]`:is=`0`:then=`</div><div class="panel">`]]

              Новости_wrapper_3x
              <div class="panel">
              	[[+output]]
              </div>

              Но лучше чтоб верстальщик избегал подобных оберток там где они не нужны.
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                9