Skip to main content

Gallery3xFiles

Gallery3xFiles

Сниппет для вывода файловых вложений ресурса на фронтенде сайта. Отображает файлы, загруженные через вкладку «Файлы G3x» в редакторе ресурса MODX. Поддерживает фильтрацию, сортировку, группировку и вывод через Fenom или стандартный синтаксис MODX.


Параметры

Параметр Тип По умолчанию Описание
resource int ID текущего ресурса ID ресурса, файлы которого выводятся
resources string Список ID ресурсов через запятую. Отрицательное значение исключает ресурс (например: 5,10,-3)
parents string ID родительских ресурсов через запятую. Выводятся файлы всех дочерних ресурсов (глубина до 10 уровней)
group string Фильтр по группе или нескольким группам через запятую. Поддерживается мультигруппа
limit int 0 Максимальное количество файлов. 0 — без ограничения
offset int 0 Смещение выборки (для пагинации)
sortby string position Поле сортировки: position, name, size, createdon, type
sortdir string ASC Направление сортировки: ASC или DESC
showInactive int 0 Показывать деактивированные файлы. 1 — показывать
where JSON Дополнительные условия xPDO-запроса в формате JSON. Например: {"type":"pdf"}
tplOuter string tpl.Gallery3x.Files.outer Чанк-обёртка всего списка
tplItem string tpl.Gallery3x.Files.item Чанк одного файла (используется при стандартном синтаксисе MODX)
fenom int 0 Использовать Fenom для рендеринга. Требует pdoTools. При 1 весь массив передаётся в tplOuter
return string Вернуть данные вместо HTML: data — PHP-массив, json — JSON-строка, ids — массив ID
toPlaceholder string Сохранить результат в указанный плейсхолдер вместо вывода на страницу
debug int 0 Режим отладки. При 1 выводит параметры запроса и данные найденных файлов

Доступные поля в шаблонах

Каждый элемент содержит следующие поля:

Поле Описание
id ID записи в базе данных
resource_id ID ресурса MODX
file Имя файла
path Относительный путь к папке файла
url Полный URL файла через медиасорс
name Заголовок файла (заданный вручную)
description Описание файла
type MIME-тип файла
ext Расширение файла в нижнем регистре (например, pdf, zip)
size Размер файла в байтах
size_formatted Размер файла в читаемом виде: 1.2 MB, 340 KB, 512 B
group Группы через разделитель || (внутренний формат хранения)
groups_list Группы через запятую (удобно для вывода в шаблоне)
active Активность: 1 — активен, 0 — скрыт
position Порядковый номер сортировки
createdon Дата загрузки (Unix timestamp)

В tplOuter дополнительно передаются:

Поле Описание
total Общее количество найденных файлов
first Массив данных первого файла (для быстрого доступа)
files Весь массив файлов (только при Fenom)
items Готовый HTML из всех tplItem (только при стандартном синтаксисе)

Примеры вызова

Минимальный (текущий ресурс, стандартный синтаксис):

[[!Gallery3xFiles]]

С Fenom:

[[!Gallery3xFiles?
    &tplOuter=`tpl.Gallery3x.Files.outer.fenom`
    &fenom=`1`
]]

Фильтр по группе, ограничение количества:

[[!Gallery3xFiles?
    &group=`документы`
    &limit=`10`
    &sortby=`name`
    &sortdir=`ASC`
]]

Файлы нескольких ресурсов:

[[!Gallery3xFiles?
    &resources=`5,10,15`
    &fenom=`1`
    &tplOuter=`tpl.Gallery3x.Files.outer.fenom`
]]

Получить JSON (для JavaScript или Fenom-обработки):

[[!Gallery3xFiles?
    &return=`json`
]]

Сохранить в плейсхолдер:

[[!Gallery3xFiles?
    &toPlaceholder=`myFiles`
]]

Фильтрация через where (только PDF):

[[!Gallery3xFiles?
    &where=`{"type":"application/pdf"}`
]]