Кабинет
Шорткоды

#Вызов блока и условия

#Простой вызов

{module.имя_модуля}

Вставляет блок целиком: со своей обёрткой, стилями и всеми записями.

#Условия

Условия пишутся после двоеточия и разделяются знаком &:

{module.portfolio:limit=6&orderBy=id&order=desc}

#Служебные условия

УсловиеЧто делаетПо умолчанию
limitсколько записей вывестивсе
orderByпо какому полю сортироватьid
orderasc (по возрастанию) или descdesc
paginate1 — включить постраничностьвыключено
viewкаким видом рисоватьосновной
idsсписок файлов для галереи—

#Отбор по полю

Любое имя поля справочника работает как условие отбора:

{module.portfolio:tag=Кухни}
{module.blog:category=3}
{module.shop:active=1&hit=1}

Выведутся только записи, у которых это поле равно указанному значению.

Совет

Так делается «похожее» и «из этой же категории» — без единой строки кода: тот же модуль, другое условие.

#Постраничность

{module.blog:paginate=1&limit=12}

Блок начинает показывать не первые 12 записей, а окно по номеру страницы из адреса: /blog/page/2/, /blog/page/3/.

Листалка встаёт на место метки {pager} в вёрстке блока. Нет её — припишется следом за содержимым.

Примечание

Страница списка за пределом отдаёт «не найдено», а не пустой список. Иначе /blog/page/99/ при шести статьях отвечал бы «всё в порядке» и попадал в кеш, а поисковик обходил бы такие адреса бесконечно — их столько, сколько чисел.

Первая страница не в счёт: пустой список на ней — законное «записей пока нет».

#Условия в вёрстке блока

Условия можно записать и внутри вида, в метке {item}:

<div class="grid">{item:limit=12}</div>

Это значения по умолчанию, а не приказ: указанное на месте вызова побеждает.

Важно

Раньше было наоборот, и {module.portfolio:limit=4} в блоке «примеры работ» выводил двенадцать записей — limit=12 из вёрстки перекрывал четвёрку. Теперь побеждает то, что указано на месте вызова: оно конкретнее.

#Выбор вида

{module.menu:view=moya.menuFooter}
{module.menu:view=24}

Принимается и код, и номер. Подробнее — Виды модуля.

#Галерея из файлов

Блок без справочника с условием ids выводит список файлов:

{module.gallery:ids=12,15,18}

#Вложенные вызовы

Блок может звать другой блок — так шапка выводит меню:

<header>
  {module.menu:view=moya.menu}
</header>

Работает и внутри карточки записи.

#Что чаще всего идёт не так

«Вызов написан, а блока нет». Модуля с таким именем не существует. Вызов убирается со страницы, причина уходит в журнал сервера. Обычно это опечатка либо решение, которое ещё не установлено.

«Выводится не столько записей, сколько просил». Проверьте {item} в вёрстке блока: возможно, там стоит своё limit, а вы правите вызов — или наоборот.

«orderBy не работает». Имя поля должно совпадать со столбцом справочника (data_publikacii), а не с его заголовком («Дата публикации»).