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> Но лучше чтоб верстальщик избегал подобных оберток там где они не нужны.
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.