pdoResources разбивка результатов по блокам
Всем привет. Столкнулся с такой задачей, нужно на сайте вывести карусель с изображениями и сделать так чтобы в каждом блоке было по 4 изображения. Вот пример:
Вывод пока такой сделал:
<div class="item active">
<div class="row">
<div class="col-sm-3 col-xs-6"><a href="#x"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
<div class="col-sm-3 col-xs-6"><a href="#x"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
<div class="col-sm-3 col-xs-6"><a href="#x"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
<div class="col-sm-3 col-xs-6"><a href="#x"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
</div>
</div>
<div class="item">
<div class="row">
<div class="col-sm-3 col-xs-6"><a href="#x col-xs-6" class="thumbnail"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
<div class="col-sm-3 col-xs-6"><a href="#x" class="thumbnail"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
<div class="col-sm-3 col-xs-6"><a href="#x" class="thumbnail"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
<div class="col-sm-3 col-xs-6"><a href="#x" class="thumbnail"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
</div>
</div>
Тоесть блок с class=«item» должен повторяться через 4 добавленных изображения. Есть ли стандартное решение без велосипедов?Вывод пока такой сделал:
[[!pdoResources?
&parents=`19,20,21,22,23`
&includeTVs=`image`
&tplWrapper=`@INLINE <div class="item "><div class="row">[[+output]]</div></div>`
&tpl=`@INLINE <div class="col-sm-3 col-xs-6"><a href="#x"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>`
]]
Комментарии: 7
Не очень понятна описана задача.
Можно конкретнее?
Можно конкретнее?
<div class="item active">
<div class="row">
<div class="col-sm-3 col-xs-6"><a href="#x"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
<div class="col-sm-3 col-xs-6"><a href="#x"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
<div class="col-sm-3 col-xs-6"><a href="#x"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
<div class="col-sm-3 col-xs-6"><a href="#x"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
</div>
</div>
к примеру есть такой кусок кода, в блоке <div class="row">...</div>
идёт как раз список выводимых ресурсов<div class="col-sm-3 col-xs-6"><a href="#x"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
нужно сделать разбивку, чтобы через каждые 4 ресурса подставлялись эти блоки автоматом. <div class="item active">
<div class="row">
[[pdoResources?
...
&tpl=`row`
]]
</div>
</div>
В чанке row после каждого 4 ставите закрывающие и открывающие дивы
<div class="col-sm-3 col-xs-6"><a href="#x"><img src="http://placehold.it/300x300" alt="Image" class="img-responsive"></a></div>
[[+idx:decr:mod=`4`:is=`3`:then=`</div></div><div class="item"><div class="row">`]]
Может как-то и по другому можно. В том же getResources удобнее сделано, там можно указать чанк для каждого N элемента выборки.
В pdoResources тоже работает параметр tpl_n. Попробуйте:
&tpl=`tpl.row` — стандартный чанк,
&tpl_n4=`tpl.row_n4` — чанк 4-го результата, отличается от стандартного добавлением в конце:
Если я правильно понял вопрос, то все должно получиться и занять всего пару минут.
&tpl=`tpl.row` — стандартный чанк,
&tpl_n4=`tpl.row_n4` — чанк 4-го результата, отличается от стандартного добавлением в конце:
</div>
</div>
<div class="item">
<div class="row">
&tpl_last=`tpl.row` — чанк последнего результата, используем стандартный.Если я правильно понял вопрос, то все должно получиться и занять всего пару минут.
Чанк последнего результата, должен закрыть все открытые теги
У меня подразумевается, что div'ы item и row закрываются в общей обертке или за пределами сниппета.
Последний чанк в этом случае как раз должен быть как первый. Но возможны различные манипуляции, естественно. Думаю, используя tpl_n, автор сам быстро разберётся.
Последний чанк в этом случае как раз должен быть как первый. Но возможны различные манипуляции, естественно. Думаю, используя tpl_n, автор сам быстро разберётся.
Спасибо, только вот почему-то вместо 4рёх картинок в слайдере он разбивает по 3, а не по 4.
Вот так удалось побороть) Огромное спасибо)
Вот так удалось побороть) Огромное спасибо)
[[!pdoResources?
&parents=`19,20,21,22,23`
&includeTVs=`image,client,cms,logo,url,year,tematic`
&tplWrapper=`@INLINE <div class="item active"><div class="row">[[+output]]</div></div>`
&tpl=`tpl.SEQUELONE.carouselTpl`
&tpl_n5=`tpl.SEQUELONE.carouselTpl.row_n4`
&limit=`14`
&useFenom=`1`
&sortby=`RAND()`
]]
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.