Интеграция AI-ассистента в админ-панель MODX Evolution
Проблема При наполнении сайтов контент-менеджеры часто сталкиваются со сложными HTML-структурами (табы, сетки, всплывающие окна). Редактирование такого контента через визуальный редактор (TinyMCE) или исходный код регулярно приводит к поломке верстки, потере важных классов или JS-событий. Процесс требует много времени и предельной аккуратности.
Задача Спроектировать минималистичный и надежный инструмент в админ-панели, который автоматизирует рерайтинг сложных блоков с помощью нейросетей, исключая человеческий фактор при работе с кодом.
Решение Разработан кастомный плагин для MODX Evo на базе OpenAI API (GPT-4o). Плагин добавляет кнопку AI-помощника к каждому полю с RichText, позволяя в один клик переписать текст внутри блока под нужную тему, гарантированно сохранив структуру HTML.
Ключевой функционал (Business Value):
-
100% защита верстки: Нейросеть строго проинструктирована сохранять все теги, классы, ID и дата-атрибуты.
-
Автоматизация контекста: Плагин самостоятельно анализирует окружение (язык поля) и подтягивает нужную тему из соседних TV-параметров (
pagetitle_ru/pagetitle_en). -
Умная интеграция медиа: Контентщику достаточно вставить любую («грязную») ссылку на YouTube. ИИ сам очистит её от лишних параметров и сформирует корректный
iframeдля встраивания. -
Динамическая адаптация UI: Если ссылка на видео не передана, нейросеть аккуратно вырезает вкладки «Видео» из исходного HTML и переносит активные классы на соседние элементы, чтобы дизайн не сломался.
Технические особенности реализации:
-
Архитектура без хаков ядра: Использованы нативные системные события MODX (
OnManagerPageInit,OnDocFormRender). -
Безопасный роутинг: AJAX-запросы к API обрабатываются внутри текущей страницы админ-панели. Это позволило изящно обойти проблемы с CORS и потерей авторизационных cookies.
-
Обход ограничений санитайзера: Реализована принудительная вставка сгенерированного кода в формате
raw, чтобы встроенные фильтры безопасности TinyMCE не вырезали нужныеonclickсобытия. -
Оптимизация работы с БД: Написан фильтр на регулярных выражениях для предварительной очистки 4-байтных символов (эмодзи), что предотвратило критические ошибки при сохранении плагина в базу MySQL с устаревшей кодировкой
utf8.
Итог Прагматичное решение, которое радикально упростило работу с контентом. Время на наполнение сложных страниц сократилось в несколько раз, а риск «сломать дизайн» сведен к абсолютному нулю. У контент-менеджера появился удобный инструмент, не требующий знаний HTML.

