Gallery3x

Gallery3x2 мин чтенияСтраница 5 из 22
На этой странице 5

Сниппет [[!Gallery3x]] выводит изображения галереи. Превью он не создаёт — берёт готовые адреса, поэтому работает быстро.

Параметры

ПараметрПо умолчаниюОписание
&resourceтекущий ресурсID ресурса, фото которого выводить. Действует, если не заданы &resources и &parents.
&resources—ID ресурсов через запятую; ID с минусом исключает ресурс (5,10,-3). Важнее &parents.
&parents—ID родителей через запятую: фото самих ресурсов и их потомков (до 10 уровней). 0 — весь сайт.
&ids—ID конкретных фото через запятую. Тогда &resource/&resources/&parents не учитываются, а порядок — как в списке (если не задан &sortby).
&group—Только фото из групп (несколько — через запятую).
&where—Дополнительные условия xPDO в JSON: {"special":1}, {"extra_num:>":2000}.
&showInactive01 — выводить и выключенные фото.
&sortbypositionПоле сортировки: position, createdon, name, id, extra_num, extra_date и др.
&sortdirASCASC или DESC.
&limit0Сколько фото вывести, 0 — все.
&offset0Сколько пропустить с начала.
&tplOutertpl.Gallery3x.Fancybox.outerЧанк-обёртка.
&tplThumbtpl.Gallery3x.Fancybox.thumbItemЧанк одного фото. При &fenom=`1` не используется.
&fenom01 — обработать &tplOuter через pdoTools (Fenom) и передать в него массив {$files}.
&source—Источник файлов для адресов (ID или имя). Пусто — источник, в котором лежит фото.
&return—data или json — данные вместо HTML (из тега MODX массив приходит JSON-строкой); ids — список ID через запятую.
&toPlaceholder—Положить данные в плейсхолдер с этим именем, сниппет ничего не выводит.
&debug01 — вместо галереи показать параметры, условия выборки и найденные данные.

Плейсхолдеры фото (&tplThumb)

ПлейсхолдерЗначение
[[+id]]ID фото
[[+resource_id]]ID ресурса
[[+name]]Название
[[+alt]]Альтернативный текст
[[+description]]Описание (HTML)
[[+original_url]]Адрес оригинала
[[+small_url]], [[+medium_url]], [[+big_url]]Адреса превью — по одному на каждый размер источника ([[+имя_url]])
[[+file]], [[+path]]Имя файла и папка внутри источника
[[+type]], [[+size]]MIME-тип и размер в байтах
[[+group]]Группы через ||
[[+special]], [[+active]], [[+position]]«Особенное», активность, позиция
[[+extra_text]], [[+extra_text2]], [[+extra_num]], [[+extra_date]]Дополнительные поля
[[+createdon]], [[+updatedon]]Даты (Y-m-d H:i:s)
[[+caption_json]]Подпись (название + описание) готовым JS-литералом — для lightGallery

Плейсхолдеры обёртки (&tplOuter)

  • [[+thumbs]] — все фото, оформленные чанком &tplThumb.
  • [[+first.medium_url]], [[+first.name]] и т.д. — поля первого фото (для большого фото над лентой).
  • В Fenom: {$files} — массив всех фото, {$first} — первое.

Примеры

Сетка Fancybox:

[[!Gallery3x?
    &tplOuter=`tpl.Gallery3x.Fancybox.GridOuter`
    &tplThumb=`tpl.Gallery3x.Fancybox.GridItem`
]]

Только «особенные» фото группы «Интерьер», новые сначала:

[[!Gallery3x?
    &group=`Интерьер`
    &where=`{"special":1}`
    &sortby=`createdon`
    &sortdir=`DESC`
    &tplOuter=`tpl.Gallery3x.Fancybox.GridOuter`
    &tplThumb=`tpl.Gallery3x.Fancybox.GridItem`
]]

Свой Fenom-чанк обёртки:

{* чанк tpl.mysite.gallery *}
<div class="gallery">
    {foreach $files as $f}
        <a href="{$f.big_url}"><img src="{$f.small_url}" alt="{$f.alt}" loading="lazy"></a>
    {/foreach}
</div>

[[!Gallery3x? &fenom=`1` &tplOuter=`tpl.mysite.gallery`]]

Данные в плейсхолдер — и разметка в Fenom-шаблоне:

[[!Gallery3x? &toPlaceholder=`photos`]]

{foreach $_modx->getPlaceholder('photos') as $f}
    <img src="{$f.medium_url}" alt="{$f.alt}">
{/foreach}

Дата из доп. поля: [[+extra_date:strtotime:date=`%d.%m.%Y`]].

Вспомогательные сниппеты

  • g3xGetImage — адрес превью по ID фото: [[g3xGetImage? &input=`17` &options=`medium`]] или модификатором {$id | g3xGetImage : 'small'}. Размер — имя из источника или original; по умолчанию medium. См. pdoResources.
  • g3xCollectionsThumbnail — превью в таблице Collections. См. Интеграция с Collections.