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

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

В текст при этом попадает не HTML-каша, а обычный тег MODX. Что именно — зависит от режима:
Выбранные фото (фиксированный набор по ID):
Вся группа (динамически — добавили фото в группу, оно само появилось в статье):
Одиночное фото — вставляется ``, но с «живым» адресом через сниппет, так что вставка переживает перегенерацию превью:
Виды вывода — свои чанки без программирования
«Вид вывода» в окне — это по сути выбор пары чанков, которые подставятся в вызов. Из коробки: сетка Fancybox, Fancybox с миниатюрами, карусель lightGallery, простые миниатюры.
Набор полностью настраивается JSON'ом в системной настройке `gallery3x.rte_views` — можно добавить свои чанки, Fenom-шаблоны, дополнительные параметры вызова и даже свой сниппет:
Контент-менеджер видит в списке «Моя сетка», «Последние 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
0
Всем Привет.
Вышло обновление 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
Комментарии: 0