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

Поле file

Версия: Free.

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

Поле для PDF, архива и других файлов, не только для картинок. После сохранения в данных есть имя файла, расширение, размер и адрес. Файлы обрабатываются так же, как у image.

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

  • PDF с ценами, презентация, файл для скачивания
  • Вложение в форме или в блоке с кнопкой
  • Любой файл из медиа MODX

Советы

В чанке берите {$file.url}, не путь к файлу. Для одних фотографий чаще хватает image.

Похожие типы

  • image для фото с alt и размерами
  • url для внешней ссылки, если файл не загружают

Настройка

json
{
  "name": "pdf",
  "type": "file",
  "label": "Файл",
  "description": "PDF или другой документ",
  "tab": "Контент",
  "width": 100,
  "active": true
}

Значение

Объект media: url, size, title, name, filename, extension, type и др. Legacy-строка при чтении оборачивается в { url }.

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

Ключ pdf в данных секции после save enrich (MediaFieldEnricher):

json
{
  "pdf": {
    "url": "assets/files/catalog.pdf",
    "id": 34,
    "path": "assets/files/",
    "filename": "catalog.pdf",
    "extension": "pdf",
    "name": "catalog",
    "title": "catalog.pdf",
    "size": 1048576,
    "type": "pdf"
  }
}
  • Legacy-строка URL при чтении нормализуется в { url }.

Пример в chunk

modx
<a href="[[+pdf.url]]" download="[[+pdf.title]]">[[+pdf.title]]</a>
fenom
<a href="{$pdf.url|escape}" download="{$pdf.title|escape}">{$pdf.title|pb_text}</a>

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

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

КлючТипРольПанель
tabstringПодзаголовок группы в инспектореда
width25–100Ширина поля в % строки (flex)да
descriptionstringПодсказка под подписьюда
defaultanyНачальное значение новой секциида
activeboolfalse: скрыть поле в инспектореда
requiredboolОбязательно при publish (черновик сохраняется)да
  • Дополнительно в schema: media-объект, enrich при save.

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

Дальше