Шаблоны в MODX: первые шаги для рабочего сайта
Разбираем, как создать шаблон в MODX Revolution 3.x, вывести заголовок и контент страницы, назначить шаблон ресурсу и проверить результат без лишних настроек.

За 20–30 минут вы создадите в MODX Revolution 3.x рабочий шаблон страницы, выведете в нём заголовок и содержимое ресурса, назначите шаблон документу и проверите результат в браузере. Инструкция рассчитана на сайт, где MODX уже установлен, а у вас есть доступ к панели управления и права на редактирование элементов.
Что подготовить до начала
Нужны установленный MODX Revolution 3.x, доступ в Manager и хотя бы один ресурс — например, главная страница или тестовый документ. Версия важна: названия кнопок и расположение пунктов могут отличаться между MODX Revolution 2.x и 3.x.
- Откройте панель управления MODX.
- Убедитесь, что ресурс опубликован или доступен для предпросмотра.
- Запишите URL страницы, на которой будете проверять изменения.
- Подготовьте простой HTML-каркас без CSS-фреймворка. Стили и меню лучше добавлять после проверки базового вывода.
Шаблон[1] в MODX — это элемент, который задаёт HTML-оболочку ресурса. Сам текст страницы хранится в поле ресурса, а шаблон говорит MODX, куда этот текст подставить.
Шаг 1. Создайте шаблон
В дереве управления найдите раздел с элементами сайта и откройте список шаблонов. Создайте новый шаблон. Назовите его, например, Base или Основной шаблон. Имя видно только в панели управления, поэтому выбирайте название, по которому легко понять назначение элемента.
Если в форме есть поле описания, укажите, где шаблон используется: «Основная оболочка страниц сайта». Поле с HTML пока можно оставить пустым или сразу вставить код из следующего шага.
Проверка: новый шаблон появился в списке и открывается в режиме редактирования. Если MODX не разрешает сохранить форму, проверьте права пользователя и обязательные поля.
Шаг 2. Вставьте минимальный HTML-каркас
В поле кода шаблона вставьте полноценный документ. Версия синтаксиса MODX здесь не привязана к конкретной теме оформления: используются стандартные поля ресурса, доступные в MODX Revolution 3.x.
<!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>
<header>
<a href="/">Мой сайт</a>
</header>
<main>
<h1>[[*pagetitle]]</h1>
[[*content]]
</main>
</body>
</html>
Запись [[*pagetitle]] подставляет заголовок текущего ресурса, а [[*content]] — его содержимое. Это не обычный HTML и не PHP: MODX обрабатывает такие маркеры при формировании страницы.
Сохраните шаблон.
Проверка: редактор сообщает об успешном сохранении, а HTML-код остаётся в поле шаблона после повторного открытия. Если вместо кода вы видите ошибку формы, сначала уберите лишние символы из вставки и сохраните минимальную версию.
Шаблон не хранит текст конкретной страницы. Он определяет каркас, а поля ресурса заполняют этот каркас данными.
Шаг 3. Назначьте шаблон ресурсу
Откройте ресурс, который будете проверять. Найдите поле выбора шаблона и укажите созданный Base. В поле заголовка задайте тестовое значение, например «Первая страница». В поле содержимого напишите два-три абзаца текста.
Сохраните ресурс. Если он ещё не опубликован, опубликуйте его только после проверки доступа и настроек URL. Для первого теста достаточно обычного ресурса без дополнительных TV-полей и сниппетов.
Проверка: после повторного открытия ресурса в поле шаблона указано Base, а поля заголовка и содержимого заполнены. Если выбранного шаблона нет в списке, сохраните его отдельно и обновите страницу Manager.
Шаг 4. Откройте страницу на сайте
Перейдите по URL ресурса в браузере. В исходной странице должны появиться заголовок из поля ресурса и текст из поля содержимого. В браузере откройте просмотр исходного кода и убедитесь, что строки [[*pagetitle]] и [[*content]] не остались там как обычный текст.
Если изменения не видны, обновите страницу без кеша. В MODX результат может храниться в кешированных файлах, поэтому после заметных изменений шаблона очищайте кеш из панели управления. Название и расположение команды зависят от версии и установленных дополнений.
Проверка: на странице есть один заголовок h1, в заголовке вкладки браузера отображается название ресурса, а текст из поля содержимого находится внутри main.
Шаг 5. Добавьте описание и стили
Когда базовый вывод заработал, можно подключить описание ресурса. В шаблоне замените содержимое элемента head на вариант с полем описания:
<title>[[*pagetitle]]</title>
<meta name="description" content="[[*description]]">
Поле description не создаёт текст автоматически. Если оно пустое, метатег тоже будет пустым. Для первого проекта лучше заполнять описание вручную в каждом важном ресурсе, а не добавлять сложную логику подстановки.
CSS можно подключить обычным HTML-тегом, если файл доступен по указанному пути:
<link rel="stylesheet" href="/assets/css/site.css">
Не вставляйте в шаблон путь к файлу, которого ещё нет. Браузер покажет страницу без стилей, а в панели разработчика появится ошибка загрузки ресурса.
Проверка: в исходном коде страницы появился непустой meta name="description", а во вкладке Network файл CSS отвечает кодом 200.
Если не получилось
На странице виден текст [[*content]]
Чаще всего ресурс не использует созданный шаблон или изменения не сохранились. Откройте ресурс, проверьте выбранный шаблон, сохраните его и очистите кеш. Также убедитесь, что маркер написан точно: в нём есть две квадратные скобки с каждой стороны и звёздочка перед именем поля.
Страница показывает 404
Проверьте, опубликован ли ресурс, не установлен ли у него статус «не показывать в меню» — этот статус сам по себе обычно не запрещает открытие, но помогает отличить ресурс от удалённого. Убедитесь, что URL ведёт именно на этот документ. Если включены дружественные URL, проверьте настройки их генерации и конфигурацию веб-сервера.
Изменения в шаблоне не видны
Очистите кеш MODX и выполните жёсткое обновление страницы в браузере. Если сайт работает за обратным прокси или CDN, кеш может находиться ещё и там. Для диагностики сначала проверяйте страницу напрямую на сервере, а затем слой кеширования.
Вкладка браузера пустая или содержит не тот текст
Поле pagetitle ресурса может быть пустым, а шаблон может использовать другой маркер. Откройте ресурс, проверьте заголовок и убедитесь, что именно этот документ назначен шаблону Base.
В HTML появляются лишние теги
MODX выводит содержимое поля ресурса почти в том виде, в котором оно сохранено. Проверьте форматирование текста в редакторе и исходный HTML поля. Не оборачивайте [[*content]] в дополнительные абзацы, если редактор уже добавляет их сам.
Что проверить перед публикацией
- Откройте ресурс с обычным текстом, длинным заголовком и пустым описанием.
- Проверьте страницу на телефоне: у документа должен быть тег viewport.
- Посмотрите исходный код и убедитесь, что маркеры MODX не остались не обработанными.
- Проверьте ссылки, CSS и изображения во вкладке Network браузера.
- Очистите кеш после финального изменения шаблона и снова откройте несколько ресурсов.
Что делать дальше
Следующим шагом разделите оформление на отдельные части: шапку, подвал и меню можно вынести в чанки, чтобы не редактировать один большой шаблон. Для уникальных полей создайте TV-параметры только после того, как поймёте, какие данные действительно повторяются на страницах. Отдельная тема — вывод меню, сниппеты и настройка кеширования: не смешивайте их с базовой проверкой шаблона.
На рабочем сайте после изменений смотрите не только на внешний вид, но и на время ответа, размер HTML и ошибки 404. Шаблон применяется ко всем назначенным ему ресурсам, поэтому одна неосторожная правка может изменить десятки страниц сразу.
[1] Чанк — переиспользуемый фрагмент содержимого MODX, например общая шапка или подвал. Он отличается от шаблона тем, что не задаёт весь HTML-документ, а хранит отдельную часть разметки.
Контент-конвейер: Из одной идеи — текст, изображение, озвучка и ролик. Один заказ вместо четырёх.
Спросить за 60 ₽Источники: MODX Documentation: Templates, MODX Documentation: Resources
Частые вопросы
Можно ли создать шаблон в MODX без знания PHP?
Почему шаблон сохранился, но страница не изменилась?
Можно ли использовать один шаблон для всех страниц?
Что будет, если у ресурса не заполнено поле description?
Нужно ли менять шаблон, чтобы вывести TV-поле?
Подойдёт ли эта инструкция для MODX Revolution 2.x?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.