Как создать страницу с уникальным дизайном в MODX Revolution
Если вам нужно интегрировать лендинг или страницу с полностью другой вёрсткой, шапкой и футером в действующий сайт на MODX, стандартные методы часто приводят к проблемам: подтягиваются скрипты и стили от других модулей, нарушается структура. В этой статье мы разберём, как использовать отдельный контекст для изоляции нового дизайна и избежать лишнего кода.
Проблема интеграции нового дизайна в MODX
Когда вы создаёте новую страницу в MODX, она по умолчанию наследует общие шаблоны, чанки и подключения скриптов. Если ваш сайт использует много расширений (например, miniShop2, Tickets, pdoTools), на страницу загружаются их стили и JS-файлы. Это мешает сделать лендинг с чистым дизайном.
Решение: отдельный контекст для лендинга
В MODX Revolution контексты позволяют создавать изолированные наборы настроек. Вы можете сделать новый контекст (например, landing), в котором будут свои шаблоны, чанки, системные настройки и даже своя база ресурсов. Это идеальный способ для страниц с уникальной вёрсткой.
Пошаговая инструкция
- Создайте контекст: Зайдите в «Система» → «Контексты» и нажмите «Создать контекст». Укажите ключ (например,
landing) и имя. - Настройте системные параметры: В новом контексте переопределите настройки
site_url,base_urlиcultureKey. Это задаст базовый URL для страниц контекста. - Создайте шаблон: Разработайте отдельный шаблон (tpl) для лендинга, в котором будет только ваш HTML, CSS и JS. Не подключайте общие чанки шапки/футера.
- Добавьте ресурс: В корне контекста
landingсоздайте новый документ, назначьте ему ваш шаблон. URL будет видаyoursite.com/landing/или через псевдоним. - Отключите лишние плагины: В системных настройках контекста отключите ненужные плагины (например,
minishop2,formit), чтобы они не грузили свои скрипты.
Альтернативные способы
Если создание отдельного контекста кажется сложным, можно использовать следующие методы:
Переопределение шаблона через TV-параметры
Создайте TV-параметр «alternative_layout» (да/нет) и в чанке шапки проверяйте его значение. Если параметр включён - выводите другой HTML для шапки и футера. Минус: скрипты модулей всё равно будут загружаться.
Отключение скриптов через pdoTools
Используйте сниппет pdoResources или getResources для выборочного подключения. Но это не решит проблему глобальных стилей.
Почему контекст - лучший выбор
Отдельный контекст полностью изолирует новую страницу от основного сайта. Вы сможете:
- Использовать собственные CSS/JS без конфликтов.
- Не бояться, что обновление модулей сломает лендинг.
- Легко перенести лендинг на другой домен или поддомен.
В WordPress аналогичная задача решается через шаблоны страниц, но MODX даёт больше гибкости за счёт контекстов. Настройка занимает 10-15 минут и не требует правки ядра.
Заключение
Для интеграции страницы с уникальным дизайном в MODX Revolution используйте отдельный контекст. Это чистое, масштабируемое решение, которое не загрязняет код сайта и не требует сложных доработок. Если вы только начинаете работать с MODX - изучите документацию по контекстам, это ключевая фишка системы.