Как создать страницу с уникальным дизайном в 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 - изучите документацию по контекстам, это ключевая фишка системы.

    Часто задаваемые вопросы