MODX. Дополнительные поля (TV)

Дополнительные поля (Template Variables) — элементы для расширения стандартных полей ресурса.

Вкладка «Параметры ввода»

Параметры ввода — тот вид поля, который будет отображаться в админ панели, при редактировании ресурса. Есть несколько заранее предустановленных параметров, но если их не хватает, можно добавить разнообразия с помощью дополнительных компонентов, вроде MIGX.

Стандартные варианты параметров ввода: 

  • Авто-метка (auto-tag) список элементов подобных тегам
  • Дата (date)
  • Изображение (image)
  • Переключатели (radio)
  • Скрытый (hidden) (не отображается в админ. панели и на сайте)
  • Список (одиночный выбор) / listbox (single-select) 
  • Список (Множественный выбор) / listbox (multi-select) 
  • Список ресурсов (resource list) (из структуры сайта)
  • Тег (tag)
  • Текст (text) (обычная текстовая строка)
  • Текстовая область (textares) (обычная текстовая область)
  • Текстовый редактор (richtext) (текстовая область с визуальным редактором)
  • Устаревший список множественного выбора (legasy multiple list)
  • Файл (область для вставки файла)
  • Флажки (check box)
  • Число (number)
  • Электронная почта (email)

Значения полей

Чтобы добавить в дополнительное поле значение, достаточно просто написать его в поле “Default Value”.

Если значений несколько, варианты записываются с разделителем: Значение1||Значение2||Значение3

Если надо задать определенный символьный код, возможна такая запись: Значение1==cod1||Значение2=cod2||Значение3==cod3

Проще говоря, формат записи таков DISPLAY VALUE==VALUE

  • DISPLAY VALUE — Значение отображаемое на странице ресурса;
  • VALUE — Значение которое будет записано в базе.

Варианты по умолчанию

Запись параметров по умолчанию зависит от типа поля.

  • Checkbox: наличие галки — cod1 (символьный код поля), отсутствие галки — ничего. Если значений несколько, варианты записываются через запятую — cod1, cod3

Варианты привязок для полей с возможностью привязки (@binding)

При использовании дополнительных полей можно использовать привязки.

@CHUNK chunkName список из чанка с указанным именем
@RESOURCE id список из ресурса с указанным id
@DIRECTORY ./ список файлов из указанной директории
@FILE ../assets/test.txt список из файла
@SELECT pagetitle, id FROM site_content WHERE isfolder==0; получение значений из базы данных
@EVAL return $modx->runSnippet('snippetName'); получение списка посредством выполнения PHP кода.

Примеры вывода дополнительных полей

С помощью phx

Если у поля одно значение

[[*tvName]]

Если у поля множество значений

[[*tvName:contains=`tvValue1`:then=``]]
Была ли статья полезной?