Gallery3xEmbeds
Компонент Gallery3x начиная с версии 3.2.1 поставляется со сниппетом [[!Gallery3xEmbeds]], который выводит на страницах сайта встраиваемые объекты (embed) — карты, виджеты, плееры и любой iframe-контент, добавленный во вкладке «Embed G3x» ресурса.
Ключевая особенность
Каждый embed добавляется в админке в одном из двух режимов:
-
Ссылка — вы вставляете ссылку (например, на Яндекс.Карты или Google Карты), компонент распознаёт её и сам строит безопасный
<iframe>. -
Код вставки — вы вставляете готовый HTML-код встраивания (кнопка «Поделиться → Встроить» на сайте-источнике), он выводится как есть.
Сниппет отдаёт в чанк уже готовый HTML embed в плейсхолдере [[+embed_html]] с адаптивной обёрткой (ширина 100%, высота из поля «Высота», по умолчанию 400px).
Сниппет [[!Gallery3xEmbeds]]
Основная задача — получить все активные embed указанного ресурса, отсортировать их и передать в чанки для оформления.
| Параметр | По умолчанию | Описание |
| &resource | ID текущего ресурса | ID ресурса, из которого выводить embed. Используется, если &parents и &resources не заданы. |
| &parents | null |
Список ID родительских ресурсов через запятую. Выбирает embed из них и всех дочерних. 0 — со всего сайта. |
| &resources | null |
Список ID ресурсов через запятую. ID с минусом (-) исключает ресурс. Имеет приоритет над &parents. |
| &tplOuter | tpl.Gallery3x.Embed.outer |
Чанк-обёртка всего списка. |
| &tplItem | tpl.Gallery3x.Embed.item |
Чанк одного элемента (игнорируется в режиме Fenom). |
| &fenom | 0 |
Если 1 и установлен pdoTools — режим Fenom. Чанк &tplItem не используется, а в &tplOuter передаётся массив {$embeds} для обработки в {foreach}. |
| &group | '' |
Фильтр по группе (можно несколько через запятую). |
| &limit | 0 |
Ограничение количества. 0 — без ограничений. |
| &offset | 0 |
Сдвиг выборки (для постраничного вывода). |
| &sortby | position |
Поле сортировки. |
| &sortdir | ASC |
Направление сортировки (ASC или DESC). |
| &showInactive | 0 |
Если 1 — выводятся и выключенные в админке embed. |
| &where | '' |
JSON-строка с дополнительными условиями выборки. |
| &debug | 0 |
Если 1 — вместо вывода показывается массив подготовленных данных. |
Доступные плейсхолдеры
Сниппет передаёт в чанк все поля записи embed. Главный — [[+embed_html]] (готовый к выводу HTML).
-
[[+embed_html]]— готовый HTML embed с адаптивной обёрткой (это и нужно выводить). -
[[+id]]— ID записи. -
[[+title]]— заголовок. -
[[+description]]— описание. -
[[+mode]]— режим:urlилиcode. -
[[+url]]— исходная ссылка (режим «Ссылка»). -
[[+code]]— код вставки (режим «Код вставки»). -
[[+provider]]— провайдер (yandex_map,google_map). -
[[+embed_id]]— итоговыйsrcдля iframe (режим «Ссылка»). -
[[+height]]— высота в px (пусто = 400). -
[[+thumbnail_url]]— URL превью (если задано). -
[[+group]]— группы (через||). -
[[+position]],[[+active]],[[+special]]— позиция, активность, «особенный». -
[[+extra_text]],[[+extra_text2]],[[+extra_num]],[[+extra_date]]— дополнительные поля.
Примеры
[[!Gallery3xEmbeds]]
Вывести все embed текущего ресурса.
[[!Gallery3xEmbeds?
&group=`maps`]]
Только embed из группы maps.
[[!Gallery3xEmbeds? &resource=`15`
&limit=`3`]]
Три embed с ресурса №15.
[[!Gallery3xEmbeds? &fenom=`1` &tplOuter=`
tpl.Gallery3x.Embed.outer.fenom`]]
Режим Fenom — обработка массива {$embeds} в цикле внутри чанка-обёртки.
[[!Gallery3xEmbeds? &debug=`1`]]
Отладка — показывает все подготовленные данные.