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

Поле keyvalue ​

Версия: Pro (advanced-fields).

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

Проще, чем table, если нужна одна текстовая колонка значения. Подписи колонок задают keyLabel и valueLabel (или key_label / value_label). Списка колонок в схеме нет, число строк не ограничено.

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

  • Meta-атрибуты, параметры, характеристики
  • Свои параметры для чанка
  • Список «название: значение» без типов ячеек

Советы ​

Ячейки с типами или изображением: table.

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

  • table для типизированной сетки
  • repeater с двумя text для той же формы (Free)

Настройка ​

json
{
  "name": "meta",
  "type": "keyvalue",
  "label": "Мета",
  "keyLabel": "Параметр",
  "valueLabel": "Значение",
  "tab": "Контент",
  "width": 100,
  "active": true
}

Значение ​

Массив { key, value }.

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

Ключ meta в данных секции:

json
{
  "meta": [
    {
      "key": "author",
      "value": "PageBuilder"
    },
    {
      "key": "version",
      "value": "1.0"
    }
  ]
}

Пример в chunk ​

Перебор пар — блок Fenom. В MODX — сниппет или элемент по индексу.

modx
<div><strong>[[+meta.0.key]]:</strong> [[+meta.0.value]]</div>
fenom
{foreach $meta as $row}
  <div><strong>{$row.key|pb_text}:</strong> {$row.value|pb_text}</div>
{/foreach}

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

Для полей с name, которые сохраняются в данных секции:

КлючТипРольПанель
tabstringПодзаголовок группы в инспектореда
width25, 33, 50, 66, 75, 100Ширина поля в % строки (flex); в CMP только эти значенияда
descriptionstringПодсказка под подписьюда
defaultanyНачальное значение новой секциида
activeboolfalse: скрыть поле в инспектореда
requiredboolОбязательно при publish (черновик сохраняется)да

Подробнее: обзор полей.

Дальше ​