Сниппет [[!Gallery3xMixed]] выводит изображения и видео одного ресурса вместе — общим списком или по группам. Чанк по умолчанию написан на Fenom, нужен pdoTools.
Параметры
| Параметр | По умолчанию | Описание |
|---|---|---|
| &resource | текущий ресурс | ID ресурса. |
| &groupBy | group | Поле группировки (group — по группам; фото с несколькими группами попадает в каждую). Пусто — без группировки. Элементы без группы — в «Без группы». |
| &mixOrder | 1 | 1 — фото и видео в общем порядке по &sortby; 0 — сначала все фото, потом все видео. |
| &sortby | position | Поле сортировки: position, createdon, id. |
| &sortdir | ASC | ASC или DESC. |
| &limit | 0 | Сколько элементов, 0 — все. |
| &offset | 0 | Сколько пропустить с начала. |
| &showInactive | 0 | 1 — с выключенными. |
| &thumbSize | small | Какой размер превью фото попадёт в поле thumb. |
| &source | — | Источник файлов для адресов (ID или имя). |
| &tpl | tpl.Gallery3x.Mixed.Fenom | Чанк вывода. |
Что приходит в чанк
{$grouped}— массив «имя группы → элементы» (при&groupBy), иначеnull.{$media}— плоский список элементов (без группировки).
| Поле элемента | Значение |
|---|---|
media_type | image или video |
unique_id | img_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`]]