Ресурсы, шаблоны и чанки в MODX: быстрый старт
За 20–30 минут вы соберёте в MODX простую страницу: создадите ресурс, привяжете шаблон, добавите общий чанк и выведете заголовок с содержимым без копирования разметки.

Что получится и что нужно подготовить
В конце у вас будет рабочая страница MODX Revolution 3.x с заголовком, текстом ресурса и повторно используемым блоком из чанка. На базовую настройку закладывайте 20–30 минут, если MODX уже установлен и у вас есть доступ к менеджеру.
В этом руководстве разбираем только три сущности: ресурс хранит содержимое страницы, шаблон задаёт её каркас, а чанк содержит небольшой повторяемый фрагмент HTML. Сниппеты, TV-параметры и настройка меню — отдельные темы.
- установленный MODX Revolution 3.x;
- учётная запись с правом создавать ресурсы, шаблоны и чанки;
- адрес сайта, по которому можно проверить опубликованную страницу;
- доступ к разделу «Элементы» в менеджере.
Сноска. Ресурс — запись MODX, которая обычно становится отдельной страницей сайта. Чанк — сохранённый фрагмент разметки, который можно вставить в несколько ресурсов. Названия пунктов меню могут немного отличаться в MODX Revolution 2.x и 3.x.
Три сущности, которые нужно не перепутать
Ресурс отвечает на вопрос «какая это страница», шаблон — «как она выглядит», чанк — «какой готовый фрагмент нужно вставить». Если положить весь HTML в каждый ресурс, сайт быстро превратится в набор копий: изменение шапки придётся повторять вручную.
Шаблон не хранит текст конкретной страницы, а ресурс не должен хранить общую шапку сайта. Разделяйте каркас, данные и повторяемые блоки с первого экрана.
- Ресурс. В нём находятся заголовок страницы, содержимое, адрес и статус публикации.
- Шаблон. В нём лежит HTML-каркас с плейсхолдерами MODX.
- Чанк. В нём хранится повторяемый HTML-фрагмент: контакты, предупреждение, подвал или карточка.
Пошаговая настройка
Шаг 1. Создайте шаблон страницы
Откройте в менеджере раздел элементов и создайте новый шаблон. Назовите его, например, «Основной». В поле кода шаблона вставьте минимальный каркас:
<!doctype html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>[[*pagetitle]]</title>
</head>
<body>
<main>
<h1>[[*pagetitle]]</h1>
[[*content]]
</main>
</body>
</html>
Тег [[*pagetitle]] выводит поле заголовка текущего ресурса, а [[*content]] — его основное содержимое. Сохраните шаблон. Проверка: в списке элементов появляется шаблон «Основной», а редактор не показывает ошибку сохранения.
Шаг 2. Создайте чанк для общего блока
В том же разделе создайте чанк с именем SiteNotice. Вставьте в него простой фрагмент:
<aside class="notice">
<strong>Важно</strong>
<p>Ответим на вопросы по будням с 10:00 до 18:00.</p>
</aside>
Имя чанка чувствительно к написанию: в вызове должно быть ровно SiteNotice. Проверка: чанк сохраняется, а при повторном открытии его HTML остаётся на месте.
Шаг 3. Подключите чанк в шаблон
Вернитесь к шаблону «Основной» и добавьте вызов чанка перед закрывающим тегом </main>:
[[*content]]
[[$SiteNotice]]
</main>
В MODX конструкция [[$SiteNotice]] вставляет содержимое чанка с таким именем. Сохраните шаблон. Проверка: вызов отображается в коде шаблона без лишних кавычек и пробелов внутри имени.
Шаг 4. Создайте ресурс
Создайте новый ресурс в корне сайта. Заполните минимум три поля:
- Заголовок. Например, «Доставка и оплата».
- Содержимое. Добавьте два-три абзаца обычного текста или HTML.
- Шаблон. Выберите «Основной».
Включите публикацию ресурса и сохраните его. Проверка: у ресурса появляется ссылка для просмотра, а в менеджере он отмечен как опубликованный.
Шаг 5. Проверьте страницу в браузере
Откройте адрес ресурса в режиме инкогнито или выйдите из менеджера. В браузере должны появиться заголовок из поля «Заголовок», текст из поля «Содержимое» и блок из чанка SiteNotice.
Посмотрите исходный код страницы. В нём не должно остаться строк [[*pagetitle]], [[*content]] или [[$SiteNotice]]. Проверка: вместо служебных тегов браузер показывает реальные значения и HTML.
Как менять страницу без копирования разметки
Создайте второй ресурс и назначьте ему тот же шаблон. Измените только заголовок и содержимое. Общий блок останется одинаковым, потому что оба ресурса вызывают один чанк через шаблон.
Если нужно изменить текст уведомления, отредактируйте SiteNotice один раз. После очистки кеша MODX изменение появится на страницах, где используется этот чанк. Если блок должен быть только на одной странице, его можно вызвать непосредственно в содержимом ресурса, но для повторяющейся разметки лучше оставить вызов в шаблоне.
Если не получилось
На странице видны квадратные скобки
Если вы видите [[*pagetitle]] или [[$SiteNotice]] как обычный текст, проверьте, что ресурс действительно использует шаблон MODX, а не другой тип представления. Затем очистите кеш через менеджер и загрузите страницу заново.
Заголовок выводится, а содержимое нет
Проверьте, что текст добавлен именно в поле «Содержимое», а тег написан как [[*content]]. Вставка текста в пользовательское поле или TV-параметр не появится автоматически в этом месте шаблона.
Чанк не появляется
Сверьте имя: вызов [[$SiteNotice]] должен соответствовать имени чанка посимвольно. Частая ошибка — пробел в имени или использование имени категории вместо имени чанка. После исправления сохраните шаблон и очистите кеш.
Открывается не тот дизайн
Ресурсу мог остаться назначенным шаблон по умолчанию. Откройте настройки ресурса, выберите «Основной» и проверьте, что изменения сохранены. Если шаблон менялся после публикации, очистка кеша также обязательна.
HTML отображается текстом
Проверьте режим редактора содержимого и сам HTML. Незакрытый тег может сломать структуру страницы, а визуальный редактор иногда меняет разметку при сохранении. Для диагностики временно оставьте в ресурсе один короткий абзац и добавляйте элементы по очереди.
Где этот подход ломается
Шаблон и чанки подходят для простого каркаса, но не решают все задачи сайта. Если один и тот же блок должен получать разные данные из настроек ресурса, понадобятся TV-параметры или другой механизм вывода. Если чанк должен выполнять логику, обращаться к базе или формировать список, одного HTML-чемпионата недостаточно — понадобится сниппет, а это уже отдельная настройка с контролем входных данных.
Не превращайте один шаблон в огромный файл с десятками условий. Для небольшого сайта это удобно, но при росте проекта становится трудно понять, какой ресурс зависит от конкретного фрагмента. Держите общий каркас в шаблоне, визуальные повторяемые блоки — в чанках, а данные страницы — в ресурсах.
Что сделать дальше
После базовой страницы создайте отдельный шаблон для служебных страниц только тогда, когда у него действительно другой каркас. Затем проверьте кеш после изменений чанков и шаблонов, откройте сайт от имени обычного посетителя и убедитесь, что опубликованные ресурсы доступны по ожидаемым адресам.
Следующий практический шаг — вынести в отдельные чанки шапку, подвал и повторяемые уведомления, а затем проверить, не дублируется ли HTML в ресурсах. Для справки по синтаксису тегов и сущностям используйте официальную документацию MODX своей ветки.
Редактор изображений: Убрать лишнее, заменить фон, добавить объект, расширить кадр — на вашем изображении.
Спросить за 20 ₽Источники: MODX Documentation: Resources, MODX Documentation: Templates and Chunks
Частые вопросы
Чем ресурс отличается от чанка в MODX?
Можно ли вставить чанк прямо в содержимое ресурса?
Почему после изменения чанка посетитель видит старую версию?
Что делать, если у меня MODX Revolution 2.x?
Нужен ли отдельный шаблон для каждой страницы?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.