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

| Поле | Что задаёт |
|---|---|
| Название | как называется в панели: «Вакансии» |
| Имя | латиница: 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} в разметке.
«Карточки пустые». Имена полей в метках должны совпадать с именами столбцов справочника, а первая часть метки — с именем модуля.