Подскажите как реализовать вывод другого чанка в pdoResources

Добрый день, подскажите как можно реализовать через pdoResources так, чтобы через каждый 3 блока выводился другой чанк, который будет выводить другую информацию.

Для примера приложил картинку, как это должно быть по крайне мере в моей голове.



Сейчас у меня вот так
[[!pdoResources?
    parents=`[[*id]]`
    tpl=`one_test`
    includeTVs=`img,newHome,change,price,street`
]]
Алексей
30 мая 2023, 16:55
modx.pro
422
0

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

Андрей
30 мая 2023, 17:12
0
Скорее всего вот это поможет:

&tpl_N - Имя чанка для N-го ресурса, например, &tpl_4=`tpl4th` установит шаблон для 4-го ресурса.
&tpl_nN - Имя чанка для каждого N-го ресурса, например, &tpl_n4=`tplEvery4th` будет применено к каждому 4-му ресурсу.

Общие параметры
    Алексей
    30 мая 2023, 17:48
    0
    Не совсем подходит, так как он заменяет ресурс, и это надо контролировать и учитывать при добавлении
      Dan
      Dan
      30 мая 2023, 22:12
      0
      Как понять «он заменяет ресурс»?
      Вы вроде написали, что каждый 3-ий результат должен выводиться в другом чанке.
      Чем вам не подходит tpl_N?
      Либо распишите задачу более подробно, чтобы можно было дать точный ответ.
        Алексей
        31 мая 2023, 04:07
        0
        Да немного не правильно написал. Суть заключается в том что, я выставляю условно новости, они располагаются в строчку по 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>
          Dan
          Dan
          31 мая 2023, 09:11
          1
          0
          Значит вам нужно открыть div в первом результат и в каждом 4-м, и закрывать его в последнем и каждом 3-м. И при этом выводить отдельный чанк после каждого-3го или последнего. Вызов будет примерно следующий:
          [[!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 обертка-->
          [[$другой_чанк]]
            Алексей
            31 мая 2023, 15:45
            0
            Спасибо, немного переделал и получилось.
    Александр Мельник
    30 мая 2023, 18:30
    0
    если бы вы использовали синтаксис fenom было бы проще.
    Внутри чанка вам доступен номер иттерации. [[+idx]]
    вы можете написать проверку, на то что номер иттерации без остатка делится на 3.
    если это условие верно, то вы будете знать, что завершилась 3,6,9 и так далее иттерация.
    и по этому условию вывести другую верстку.
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7