Skip to main content

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`]]

Отладка — показывает все подготовленные данные.