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, архива и других файлов, не только для картинок. Media-объект, как у image.

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

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

Советы ​

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

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

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

Настройка ​

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

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

Ключ pdf в данных секции после сохранения:

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"
  }
}
  • Устаревшая строка URL в данных остаётся строкой до повторного сохранения: {$pdf.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, 33, 50, 66, 75, 100Ширина поля в % строки (flex); в CMP только эти значенияда
descriptionstringПодсказка под подписьюда
defaultanyНачальное значение новой секциида
activeboolfalse: скрыть поле в инспектореда
requiredboolОбязательно при publish (черновик сохраняется)да

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

Дальше ​