Skip to content

pbBlocks

Выводит блоки конструктора, прикреплённые к ресурсу, — то самое тело страницы, которое собрали в конструкторе.

[[!pbBlocks]]

Параметры

ПараметрПо умолчаниюОписание
resourceтекущий ресурсЧьи блоки выводим.
parentСиноним resource.
limitВывести только первые N блоков.
offset0Пропустить первые N блоков.
tplЧанк, получающий каждый блок как item. Без него каждый блок рендерится своим чанком — тем, который задан в его конструкторе.

Плюс tplWrapper, tplEmpty и outputSeparator — но только если задан tpl.

Как выбирается вывод

Без tpl сниппет зовёт у каждого блока его собственный render(), а тот берёт чанк из полей chunk и chunk_path. Это обычный случай: конструктор уже знает, как выглядит каждый блок.

С tpl вы берёте это на себя — удобно, когда те же блоки в другом месте нужны с другой разметкой или когда каждый надо во что-то завернуть.

Только опубликованное и только на своём языке

Сниппет ходит через связь blocks() ресурса, поэтому отдаёт блоки опубликованные (published_at заполнен и уже наступил), не удалённые мягко и относящиеся к текущему языку. Неопубликованный блок не попадёт на фронт без всяких дополнительных условий с вашей стороны.

Примеры

Тело текущей страницы

[[!pbBlocks]]

Блоки другой страницы

[[!pbBlocks? &resource=`15`]]

Сначала три блока, потом остальные

[[!pbBlocks? &limit=`3`]]
...
[[!pbBlocks? &offset=`3` &limit=`100`]]

Из Fenom

php
{foreach $modx->resource->blocks()->get() as $block}
    {$block->render()}
{/foreach}

Ничего не вывелось?

Сперва проверьте published_at у блоков, а уже потом маршруты и шаблоны — неопубликованный блок пропускается молча.

© PageBlocks 2019-present