Подскажите как реализовать вывод другого чанка в pdoResources
Добрый день, подскажите как можно реализовать через pdoResources так, чтобы через каждый 3 блока выводился другой чанк, который будет выводить другую информацию.
Для примера приложил картинку, как это должно быть по крайне мере в моей голове.
Сейчас у меня вот так
Для примера приложил картинку, как это должно быть по крайне мере в моей голове.
Сейчас у меня вот так
[[!pdoResources?
parents=`[[*id]]`
tpl=`one_test`
includeTVs=`img,newHome,change,price,street`
]]
Комментарии: 7
Скорее всего вот это поможет:
Общие параметры
&tpl_N - Имя чанка для N-го ресурса, например, &tpl_4=`tpl4th` установит шаблон для 4-го ресурса.
&tpl_nN - Имя чанка для каждого N-го ресурса, например, &tpl_n4=`tplEvery4th` будет применено к каждому 4-му ресурсу.
Общие параметры
Не совсем подходит, так как он заменяет ресурс, и это надо контролировать и учитывать при добавлении
Как понять «он заменяет ресурс»?
Вы вроде написали, что каждый 3-ий результат должен выводиться в другом чанке.
Чем вам не подходит tpl_N?
Либо распишите задачу более подробно, чтобы можно было дать точный ответ.
Вы вроде написали, что каждый 3-ий результат должен выводиться в другом чанке.
Чем вам не подходит tpl_N?
Либо распишите задачу более подробно, чтобы можно было дать точный ответ.
Да немного не правильно написал. Суть заключается в том что, я выставляю условно новости, они располагаются в строчку по 3 новости. После строчки должен идти другой чанк, условно реклама.
Мне больше интересно могул я после того как выводятся 3 блока закрыть их полноценно
Мне больше интересно могул я после того как выводятся 3 блока закрыть их полноценно
<div class="strat">
<div class="strat_b">
Тут сейчас выводятся блоки, если прописываю другой чанк он выводится в этом же диве.
<div class="strat1">
<div class="strat_а">
другой чайн
</div>
</div>
</div>
</div>
Мне необходимо чтобы при достижение 3 блоков див закрывался, и вставлялся другой чанк<div class="strat">
<div class="strat_b">
Тут сейчас выводятся блоки, по достижению 3 блоково
</div>
</div>
<div class="strat1">
<div class="strat_а">
другой чайн
</div>
</div>
<div class="strat">
<div class="strat_b">
Тут сейчас выводятся блоки, по достижению 3 блоково
</div>
</div>
Значит вам нужно открыть div в первом результат и в каждом 4-м, и закрывать его в последнем и каждом 3-м. И при этом выводить отдельный чанк после каждого-3го или последнего. Вызов будет примерно следующий:
1. one_test — просто вывод блока, без оборачивающего div-а
2. one_test.open следующий:
[[!pdoResources?
&parents=`[[*id]]`
&tpl=`one_test`
&tplFirst=`one_test.open`
&tplFirst=`one_test.open`
&tpl_n3=`one_test.close`
&tplLast=`one_test.close`
&includeTVs=`img,newHome,change,price,street`
]]
И код чанков примерно следующий:1. one_test — просто вывод блока, без оборачивающего div-а
2. one_test.open следующий:
<div> <!--открывается div обертка-->
<!--далее код из чанка one_test-->
3. one_test.close следующий:<!--код из чанка one_test-->
</div> <!--закрывается div обертка-->
[[$другой_чанк]]
Спасибо, немного переделал и получилось.
если бы вы использовали синтаксис fenom было бы проще.
Внутри чанка вам доступен номер иттерации. [[+idx]]
вы можете написать проверку, на то что номер иттерации без остатка делится на 3.
если это условие верно, то вы будете знать, что завершилась 3,6,9 и так далее иттерация.
и по этому условию вывести другую верстку.
Внутри чанка вам доступен номер иттерации. [[+idx]]
вы можете написать проверку, на то что номер иттерации без остатка делится на 3.
если это условие верно, то вы будете знать, что завершилась 3,6,9 и так далее иттерация.
и по этому условию вывести другую верстку.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.