Gallery3x 3.4.0 - вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE)

Gallery3x 3.4.0 — вставка галерей прямо из визуального редактора (CKEditor и TinyMCE RTE)

Всем Привет.

Вышло обновление Gallery3x 3.4.0. Главное в релизе — интеграция с визуальными редакторами: теперь контент-менеджеру не нужно вручную писать вызовы сниппетов, чтобы вставить галерею в текст статьи. В тулбаре редактора появилась кнопка «Вставить из галереи».



Как это работает

По клику на кнопку открывается окно со всеми изображениями текущего ресурса:

— фильтр по группам и пагинация — как во вкладке галереи;
— фото выбираются простым кликом
порядок кликов запоминается— в каком порядке выбрали, в таком фото и выведутся на странице;
— внизу — настройки вставки: что вставить, каким видом, размер фото, кэшированный или некэшированный вызов.



В текст при этом попадает не HTML-каша, а обычный тег MODX. Что именно — зависит от режима:

Выбранные фото (фиксированный набор по ID):

[[!Gallery3x? &ids=`17,5,42` &tplOuter=`tpl.Gallery3x.Fancybox.GridOuter` &tplThumb=`tpl.Gallery3x.Fancybox.GridItem`]]

Вся группа (динамически — добавили фото в группу, оно само появилось в статье):

[[!Gallery3x? &group=`Репортаж` &resource=`12` &tplOuter=`tpl.Gallery3x.Fancybox.GridOuter` &tplThumb=`tpl.Gallery3x.Fancybox.GridItem`]]

Одиночное фото — вставляется ``, но с «живым» адресом через сниппет, так что вставка переживает перегенерацию превью:

<img src="[[g3xGetImage? &input=`17` &options=`medium`]]" alt="Закат над морем" />

Виды вывода — свои чанки без программирования

«Вид вывода» в окне — это по сути выбор пары чанков, которые подставятся в вызов. Из коробки: сетка Fancybox, Fancybox с миниатюрами, карусель lightGallery, простые миниатюры.

Набор полностью настраивается JSON'ом в системной настройке `gallery3x.rte_views` — можно добавить свои чанки, Fenom-шаблоны, дополнительные параметры вызова и даже свой сниппет:

[
  {"key": "my_grid", "label": "Моя сетка", "tplOuter": "tpl.My.GridOuter", "tplThumb": "tpl.My.GridItem"},
  {"key": "last6", "label": "Последние 6 фото", "tplOuter": "tpl.Gallery3x.Fancybox.GridOuter", "tplThumb": "tpl.Gallery3x.Fancybox.GridItem", "extra": "&limit=`6` &sortby=`createdon` &sortdir=`DESC`"},
  {"key": "slider", "label": "Слайдер", "snippet": "MySlider", "tplOuter": "tpl.MySlider.outer", "tplThumb": "tpl.MySlider.item"}
]

Контент-менеджер видит в списке «Моя сетка», «Последние 6 фото», «Слайдер» — и не думает про чанки и параметры вообще.

Поддерживаемые редакторы и почему «ноль конфигурации»

— CKEditor (аддон `ckeditor` 1.4.x, CKEditor 4)
— TinyMCE RTE (аддон `tinymcerte` 3.x, TinyMCE 6)

Приятная деталь: настройки самих редакторов трогать не нужно. Адаптеры регистрируют плагин и кнопку программно — CKEditor через `instanceCreated`/`configLoaded`, TinyMCE через `tinymce.PluginManager.add` с правкой `TinyMCERTE.editorConfig` до вызова `tinymce.init()`. Какой редактор загружен на странице — такой адаптер и сработает, второй молча отключится.

Включается всё двумя системными настройками:

— `gallery3x.rte_enable` — включить кнопку;
— `gallery3x.rte_templates` — на каких шаблонах показывать (пусто — как у вкладки галереи, `*` — везде, `5,10` — выборочно).

Ядро (окно выбора) написано отдельно от адаптеров, так что поддержка ещё одного редактора — это один небольшой JS-файл, который вызывает `Gallery3x.rte.openPicker(callback)`.

Изменения в сниппетах

— `Gallery3x`: новый необязательный параметр `&ids=`17,5,42`` — вывод конкретных изображений по ID, порядок перечисления сохраняется (можно переопределить `&sortby`). Обратная совместимость полная: вызовы без `&ids` работают ровно как раньше.
— `g3xGetImage`: размер `original` возвращает URL оригинального файла.

Документация дополнена:
docs.ivan345.com/books/gallery3x/page/vstavka-galerei-v-vizualnyi-redaktor
Ivan K.
Ivan K.
Вчера в 14:15
modx.pro
33

Комментарии: 0

Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
0