PdoResources. Оборачивать в div каждые 3 элемента
Здравствуйте!
Едут новости на сайте
xn--3-9sb0at.xn--p1ai/news/
Верстальщик предлагает каждым 3 новостям задать отдельный блок(row). Как это можно реализовать средствами pdoTools?
Спасибо.
Едут новости на сайте
xn--3-9sb0at.xn--p1ai/news/
Верстальщик предлагает каждым 3 новостям задать отдельный блок(row). Как это можно реализовать средствами pdoTools?
Спасибо.
Комментарии: 9
Пища для размышлений: modxclub.ru/topics/cziklyi-i-razbivka-po-kolonkam-1279.html
Можно в чанк rowTpl добавить примерно следующее
[[[+idx:mod=`3`:is=`1`:then=`<div class="row">`]]
...
[[+idx:mod=`3`:is=`0`:then=`</div>`:else=`[[+idx:is=`[[+total]]`:then=`</div>`]]`]]
Могу ошибаться, но: docs.modx.pro/components/pdotools/general-settings — разве для вашей задачи частично не подойдет параметр &tpl_nN?
Нужно обернуть 3 строки. То есть, в первой строке открыть тег, а в третьей закрыть.
Для этого можно использовать &tpl_nN, но что будет, если выборка вернёт 5 строк? Ведь тег должен закрыться в 6й.
Короче, извратиться-то можно, но это именно что перекладывание работы верстальщика на плечи программиста.
Для этого можно использовать &tpl_nN, но что будет, если выборка вернёт 5 строк? Ведь тег должен закрыться в 6й.
Короче, извратиться-то можно, но это именно что перекладывание работы верстальщика на плечи программиста.
&tplFirst — открыть
&tpl_n3 — закрыть, открыть
&tplLast — закрыть
Но лучше для таких целей использовать nth-child, например сбрасывать обтекание у nth-child(3n+1)
&tpl_n3 — закрыть, открыть
&tplLast — закрыть
Но лучше для таких целей использовать nth-child, например сбрасывать обтекание у nth-child(3n+1)
Если опустить оптимизацию, можно через api написать сниппет, запускающий pdoTools и смотреть параметр total, после чего делить его на 3, определять остаток и в return возвращать полученное количество дивов, в которые заключать плейсхолдеры. [[+myPlN]]
Кстати, да — вот так будет работать без проблем.
Что-то подзабыл я уже про такие фокусы.
Что-то подзабыл я уже про такие фокусы.
Запрос:
Новости_tpl
Новости_wrapper_3x
Но лучше чтоб верстальщик избегал подобных оберток там где они не нужны.
[[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>
Но лучше чтоб верстальщик избегал подобных оберток там где они не нужны.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.