Кабинет
Что такое модули

#Свой модуль

Собственный модуль нужен, когда данные уже есть (свой справочник), а показывать их нечем. Такой модуль принадлежит только вашему сайту и никуда не уезжает.

#Как завести

Модули → Добавить.

Модуль: имя, тип, справочник — и его виды
Модуль: имя, тип, справочник — и его виды
ПолеЧто задаёт
Названиекак называется в панели: «Вакансии»
Имялатиница: vacancies. Им зовут: {module.vacancies}
Описаниепояснение для себя
ТипСтраница (PFM) или Блок (BFM)
Справочникоткуда брать записи. Пусто — статический блок

Сохраните — и появится раздел Виды: там задаётся вёрстка.

Примечание

Вёрстка живёт в видах, а не в самом модуле. Раньше она была одна на модуль, и чтобы показать меню в двух оформлениях, заводили второй модуль с тем же справочником. Теперь видов сколько угодно, а модуль отвечает за настройки и источник данных.

#Первый вид

Добавить вид → откроется страница правки вёрстки.

Минимальный список:

<!-- Разметка -->
<div class="vacancies">{item}</div>

<!-- Разметка записи -->
<article class="vacancy">
  <h3>{module.vacancies.title}</h3>
  <p>{module.vacancies.city} · {module.vacancies.salary}</p>
</article>

Сохраните. Для BFM пометьте вид основным, если он один, — или зовите его по коду.

#Вывести на страницу

В содержимом нужной страницы:

{module.vacancies}

Или с условиями:

{module.vacancies:limit=5&orderBy=salary&order=desc}

Полный список условий — Шорткоды.

#Свой PFM: раздел со своими адресами

Модуль типа PFM даёт своему справочнику собственные адреса. Так устроены страницы и статьи блога: /blog/kak-vybrat-plitku/ — это запись справочника, а не отдельная страница.

Чтобы так сделать, у справочника должно быть поле адреса (url), а сам модуль — типа PFM. Тогда ядро найдёт запись по адресу и нарисует её видом этого модуля.

Важно

У PFM разметка записи — это шаблон содержимого страницы, а не карточка списка. Если записи наполняются текстом, в ней обязательна метка на поле содержимого — например {module.vacancies.content}. Без неё текст молча пропадёт.

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

«Написал {module.vacancies} — на странице пусто». Модуля с таким именем нет: опечатка или он не сохранён. Вызов несуществующего модуля убирается со страницы, а причина уходит в журнал сервера — посетителю внутренности движка не показывают.

«Блок выводится, но записей нет». Проверьте, выбран ли справочник в настройках модуля, и есть ли метка {item} в разметке.

«Карточки пустые». Имена полей в метках должны совпадать с именами столбцов справочника, а первая часть метки — с именем модуля.