Gallery3xMixed

Gallery3x1 мин чтенияСтраница 7 из 22
На этой странице 3

Сниппет [[!Gallery3xMixed]] выводит изображения и видео одного ресурса вместе — общим списком или по группам. Чанк по умолчанию написан на Fenom, нужен pdoTools.

Параметры

ПараметрПо умолчаниюОписание
&resourceтекущий ресурсID ресурса.
&groupBygroupПоле группировки (group — по группам; фото с несколькими группами попадает в каждую). Пусто — без группировки. Элементы без группы — в «Без группы».
&mixOrder11 — фото и видео в общем порядке по &sortby; 0 — сначала все фото, потом все видео.
&sortbypositionПоле сортировки: position, createdon, id.
&sortdirASCASC или DESC.
&limit0Сколько элементов, 0 — все.
&offset0Сколько пропустить с начала.
&showInactive01 — с выключенными.
&thumbSizesmallКакой размер превью фото попадёт в поле thumb.
&source—Источник файлов для адресов (ID или имя).
&tpltpl.Gallery3x.Mixed.FenomЧанк вывода.

Что приходит в чанк

  • {$grouped} — массив «имя группы → элементы» (при &groupBy), иначе null.
  • {$media} — плоский список элементов (без группировки).
Поле элементаЗначение
media_typeimage или video
unique_idimg_5 / video_3
titleНазвание (у фото — поле «Название»)
thumbПревью: у фото — размер &thumbSize, у видео — обложка
urlФото — адрес оригинала, видео — ссылка на видео
group, position, active, specialОбщие поля
только фотоname, alt, description, file, path, original_url, small_url, medium_url, big_url…
только видеоservice, video_id, description, thumbnail_url

Примеры

[[!Gallery3xMixed]]

[[!Gallery3xMixed? &groupBy=`` &limit=`12`]]

[[!Gallery3xMixed? &mixOrder=`0` &thumbSize=`medium`]]

Свой чанк:

{* чанк tpl.mysite.mixed *}
{if $grouped is array}
    {foreach $grouped as $groupName => $items}
        <h2>{$groupName}</h2>
        <div class="grid">
            {foreach $items as $item}
                {if $item.media_type == 'image'}
                    <a href="{$item.url}"><img src="{$item.thumb}" alt="{$item.title}"></a>
                {else}
                    <a href="{$item.url}" target="_blank">▶ {$item.title}</a>
                {/if}
            {/foreach}
        </div>
    {/foreach}
{/if}

[[!Gallery3xMixed? &tpl=`tpl.mysite.mixed`]]