Здравствуйте, уважаемые форумчане. Подскажите, пожалуйста, как поочередно выводить статьи разными чанками в категорию?
В чем суть: у меня есть три чанка для вывода статей в категорию. При вызове чанков через pdoPage использую параметры &limit=`` и &offset=``. Это мне позволяет выводить первые 2 статьи одним чанком, 3-ю статью другим чанком, и еще 4 статьи третьим чанком. Таким образом получается формат 2-1-4, и при этом статьи не повторяются.
Мне нужно чтобы все новости выводились в формате 2-1-4, и не прописывать вручную новый вызов чанков с &limit=`` и &offset=``. Как этого можно добиться?
Должно выглядеть так:
Принтскрин шаблона
Поочередный вывод чанков
Версия MODX: Revolution
Комментарии (6)
Для добавления комментариев вы должны авторизоваться или зарегистрироваться.
Андрей 11.11.2019 22:55 #
Параметр — tpl_N.
Алексей 12.11.2019 01:08 #
Например, у меня есть 7 статей (2-1-4). Такой вывод будет повторяться. То есть tpl первых двух статей повториться через 7 статей (1+7n, 2+7n). То же самое для третьей статьи (3+7n), и последующих четырех (4+7n, 5+7n 6+7n, 7n). Не могли бы вы сказать, пожалуйста, как прописать такое условие?
Андрей 12.11.2019 15:35 #
Т.е. задать нужные шаблоны для ваших повторяющихся итераций.
Алексей 13.11.2019 01:57 #
Допустим, я прописал такой вывод чанков статей в категории:
Но на страницу категории ничего не выводиться. В чем проблема?
Андрей 13.11.2019 11:49 #
Плюс параметра tpl_n1 — не может существовать, т.к. это по сути первая итерация. Суть получается такая:
tpl — общий шаблон
tpl_n2 — шаблон для заданного номера итерации
Для первой итерации можно использовать параметр tplFirst.
Алексей 15.11.2019 19:28 #
Потому что цикл статьи, через который ее вывод повторится, будет не xn, а (х + 7n), где x — номер статьи в первой семерке (от одного до 7), и n — количество раз, которыми вызвали конструкцию чанков 2-1-4. То есть пятая статья будет не &tpl_n5=`tplEvery5th`, потому что следующая статья, попадающая под определение «каждая пятая» будет иметь номер 10, а на скрине видно что в формате вызова чанков 2-1-4 десятая по номеру статья это третья, повторенная через цикл 3+7n. По этому нужно вызвать что-то вроде &tpl_n(5+7n)=`tplEvery5th`. И так для всех статей.
Прилагаю скрин конструкции:
Скриншот
Но я смог решить проблему. Я создал чанк, где в зависимости от условия (с каким остатком делится ли idx%7) вывожу нужный мне вариант.
Пример кода тут