Настройка MIGX для управления сложным контентом в MODX
Представьте: клиент просит добавить на лендинг блок «Наши кейсы», где каждый кейс содержит логотип, название, описание, список технологий и ссылку. Без MIGX приходится создавать 5–6 отдельных TV-параметров или хранить всё в одном JSON-поле, а потом писать сложный парсер. Стандартные TV-параметры MODX не позволяют создавать повторяемые группы полей — приходится дублировать TV или использовать костыли. Редактору неудобно, разработчику — больно. MIGX решает это за 15 минут.
MIGX (Multi-Items Grid for MODX) — Extra для создания повторяемых групп полей внутри одного TV-параметра. Аналог Paragraphs в Drupal или повторителей в ACF/WordPress. Редактор может добавлять сколько угодно блоков произвольной структуры: слайды, преимущества, шаги, галереи, прайс-листы. Мы настраиваем MIGX под ключ — вы получаете готовые конфигурации и шаблоны вывода. За 5 лет работы мы настроили MIGX более чем на 50 проектах — от лендингов до каталогов. Свяжитесь для консультации.
Установка MIGX
Установка простая: Package Manager → найти migx → установить. Дополнительно: MIGX устанавливает компонент в менеджере и добавляет тип поля для TV. После установки в меню появляется раздел «MIGX» для управления конфигурациями.
Создание конфигурации MIGX для слайдера
Компоненты → MIGX → Конфигурации → Создать. Пример конфигурации «Слайдер» (slider):
{ "formtabs": [ { "caption": "Слайд", "fields": [ { "field": "image", "caption": "Изображение", "inputTV": "migx_image", "inputTVtype": "image" }, { "field": "title", "caption": "Заголовок", "inputTVtype": "text" }, { "field": "subtitle", "caption": "Подзаголовок", "inputTVtype": "textarea" }, { "field": "link", "caption": "Ссылка кнопки", "inputTVtype": "url" }, { "field": "btn_text", "caption": "Текст кнопки", "inputTVtype": "text", "default": "Подробнее" } ] } ], "columns": [ { "header": "Изображение", "dataIndex": "image", "renderer": "this.renderImage", "width": 80 }, { "header": "Заголовок", "dataIndex": "title" } ], "actionbuttons": "add,edit,remove,moveup,movedown", "window_title": "Слайд" } Привязка MIGX к TV-параметру
Элементы → Переменные шаблонов → Создать: тип ввода — migxdb или migx, конфигурация MIGX — slider, имя — hero_slider. Готово.
Как вывести MIGX на сайте?
Самый распространённый способ — сниппет getImageList. Мы используем его в 90% проектов. Пример вывода слайдера:
[[!getImageList? &tvname=`hero_slider` &docid=`[[*id]]` &tpl=`@INLINE <div class="slide" style="background-image:url([[+image]])"> <h2>[[+title]]</h2> <p>[[+subtitle]]</p> <a href="[[+link]]" class="btn">[[+btn_text]]</a> </div> ` ]] Альтернативный метод — через pdoTools и pdoField, но getImageList проще и быстрее. Сравнение методов вывода MIGX:
| Метод | Скорость | Гибкость | Сложность |
|---|---|---|---|
| getImageList | Высокая | Средняя | Низкая |
| migxLoopCollection | Средняя | Высокая | Средняя |
| pdoTools + pdoField | Средняя | Высокая | Средняя |
getImageList оптимален для большинства задач. migxLoopCollection даёт больше контроля, но требует дополнительной настройки.
Сравнение MIGX и стандартных TV-списков
Стандартные TV-списки требуют отдельной переменной для каждого поля. Если нужно 10 слайдов по 5 полей — это 50 TV. MIGX хранит всё в одном TV как JSON, сокращая количество переменных в 10 раз. Кроме того, MIGX включает встроенную валидацию, drag-and-drop сортировку и поддержку вложенных структур. Это сокращает время разработки на 30–40%.
| Параметр | Стандартные TV списки | MIGX |
|---|---|---|
| Количество TV | Много (N*полей) | 1 TV |
| Поддержка повторений | Нет | Да, неограниченно |
| Вложенные структуры | Нет (только строки) | Да (JSON) |
| Сортировка элементов | Требует доработки | Встроенная drag-drop |
| Валидация полей | Только тип данных | Настраиваемая |
Возможности MIGX для сложного контента
MIGX поддерживает вложенные JSON — внутри одного поля можно хранить массивы данных. Например, блок «Услуги с иконками»:
{ "formtabs": [{ "fields": [ { "field": "icon", "caption": "Иконка SVG", "inputTVtype": "textarea" }, { "field": "title", "caption": "Название", "inputTVtype": "text" }, { "field": "description", "caption": "Описание", "inputTVtype": "textarea" }, { "field": "features", "caption": "Особенности (через ;;)", "inputTVtype": "textarea" } ] }] } Вывод через getImageList:
[[!getImageList? &tvname=`services_list` &docid=`[[*id]]` &tpl=`@INLINE <div class="service-card"> <div class="icon">[[+icon]]</div> <h3>[[+title]]</h3> <p>[[+description]]</p> [[+features:notempty=` <ul> [[+features:explode=`;;`:each=`<li>[[+v]]</li>`]] </ul> `]] </div> ` ]] MIGX позволяет реализовать практически любую структуру: галереи, табы, аккордеоны, прайс-листы. Гибкость MIGX в 3–4 раза выше, чем у стандартных TV-списков. По данным официальной документации MODX, MIGX — это стандарт для повторяемых блоков.
Почему MIGX удобнее стандартных TV?
Стандартные TV-списки требуют отдельной переменной для каждого поля. Если нужно 10 слайдов по 5 полей — это 50 TV. MIGX хранит всё в одном TV как JSON, сокращая количество переменных в 10 раз. Кроме того, MIGX включает встроенную валидацию, drag-and-drop сортировку и поддержку вложенных структур. Это сокращает время разработки на 30–40%.
Типичная ошибка: забыть указать docid
Если не указать &docid или указать неверный ID, getImageList вернёт пустой результат. Всегда проверяйте ID документа, особенно при вызове на странице другого ресурса.Что входит в настройку MIGX под ключ
Мы не просто устанавливаем расширение — мы проектируем структуру данных, создаём конфигурации, привязываем TV, пишем шаблоны вывода и оптимизируем производительность. В результате вы получаете:
- до 5 типов повторяемых блоков (слайдер, преимущества, команда, прайс, отзывы);
- шаблоны вывода с адаптивной вёрсткой;
- документацию для редакторов;
- консультацию по наполнению.
Сроки и стоимость
Настройка MIGX-конфигурации для 3–5 типов блоков — 1–2 дня. Стоимость рассчитывается индивидуально в зависимости от сложности структур и количества блоков. Мы гарантируем работоспособность и оптимизацию запросов.
Чтобы получить готовое решение, свяжитесь с нами — оценим проект и предложим настройку MIGX под ключ. Закажите настройку MIGX прямо сейчас и ускорьте разработку на 30%.







