Skip to content
PageBuilder
PageBuilder
Визуальный конструктор секций для MODX 3: черновик и публикация без перезаписи content ресурса
  • MODX 3
  • PHP 8.2
  • Vue 3
  1. Компоненты
  2. PageBuilder
  3. Типы полей
  4. Free
  5. migx

Поле migx ​

Версия: Free. Нужен установленный пакет MIGX. Без него поле в CMP есть, но грид не монтируется (fallback: textarea с JSON).

Зачем этот тип ​

  • Настоящий ExtJS-грид MIGX TV, не Vue-repeater
  • Можно взять готовый MIGX Config или задать formtabs / columns как у TV
  • Удобен, если редакторы уже работают с MIGX

Когда использовать ​

  • Сложные строки с теми же вкладками, что в MIGX Configs
  • Миграция контента с MIGX TV в секции PageBuilder
  • Когда нужен нативный add/edit MIGX, а не repeater

Советы ​

  • Предпочтительно имя config в configs (MIGX → Configs)
  • Окна add/edit стекуются над инспектором (z-index)
  • Без MIGX: JSON в textarea и кнопка «Повторить»

Похожие типы ​

  • repeater: Vue-список без зависимости от MIGX
  • jsongrid: одна строка-объект (Pro)

Настройка ​

Через MIGX Configs:

json
{
  "name": "items",
  "type": "migx",
  "label": "Элементы",
  "configs": "my_migx_config",
  "tab": "Контент",
  "width": 100,
  "active": true
}

Или inline formtabs / columns (как input properties TV):

json
{
  "name": "items",
  "type": "migx",
  "label": "Элементы",
  "formtabs": "[{\"caption\":\"Item\",\"fields\":[{\"field\":\"title\",\"caption\":\"Title\"}]}]",
  "columns": "[{\"header\":\"Title\",\"dataIndex\":\"title\",\"width\":160}]"
}

Ключ migxConfig / migx_config это алиас для configs.

Значение ​

JSON-массив объектов (как значение MIGX TV):

json
{
  "items": [
    { "MIGX_id": 1, "title": "Первый" },
    { "MIGX_id": 2, "title": "Второй" }
  ]
}

Данные секции ​

Ключ поля (например items) хранит массив строк MIGX с MIGX_id и полями из formtabs.

Пример в chunk ​

modx
[[+items.0.title]]
fenom
{foreach $items as $item}
  <div>{$item.title|pb_text}</div>
{/foreach}

Общие свойства ​

КлючТипРольПанель
tabstringПодзаголовок группыда
width25, 33, 50, 66, 75, 100Ширина поля в % строки (flex); в CMP только эти значенияда
descriptionstringПодсказкада
defaultarrayНачальное значениеда
activeboolСкрыть в инспектореда
requiredboolОбязательно при publishда
configsstringИмя MIGX configда
formtabsstring/arrayTabs формы элементада
columnsstring/arrayКолонки гридада

Дальше ​