3D туры
Последние темы на форуме:
Загрузка...
Загружаем последние темы форума...

Плагин FancyBox Gallery – это простое, лёгкое и гибкое решение для создания адаптивных галерей в статьях Joomla 3.10+ и Joomla 4/5/6. Поддержка файлов с описаниями, сортировкой, адаптивный вывод, lazy loading, WebP-оптимизация, alt, title и описание галереи с подсчетом количества доступных фото.

Пример галереи созданной плагином FancyBox Gallery

Отсутствие множества превью на странице значительно ее облегчает!

  1. DOM элементов меньше
  2. Браузеру легче рендерить и меньше памяти
  3. Меньше HTTP запросов
  4. Меньше трафика: 3 превью WebP (≈15KB)
  5. 18 превью = 18 запросов (≈100KB)
  6. Даже с lazy loading – это нагрузка
  7. Страница быстрее становится интерактивной
  8. Меньше работы для основного потока JS
  9. На мобильных критично – меньше памяти

Плагин автоматически генерирует превью (src/), создаёт оптимизированные .webp миниатюры (в отдельную папку thumbs/) для отображения галереи Fancybox во всплывающем окне. Превью и миниатюры 100х150 px создаются для всех изображений – объем занимаемый ими копеечный (30 файлов = 60 КБ), а выигрыш в производительности и логике в несколько раз.

FancyBox Gallery без параметров

{fboxgallery}335{/fboxgallery}

Отобразится 3 превью для расположения на странице в 1 ряд – см. пример выше.

Настройки из админки → Ширина px=200, Высота px=200, Превью в блоке =3

Подключение fancybox в шаблоне joomla

В файле шаблона index.php внутри тегов <head></head>:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.css">
<script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0/dist/fancybox/fancybox.umd.js" defer></script>

<script>
    document.addEventListener("DOMContentLoaded", function() {
        Fancybox.bind("[data-fancybox]");
    });
</script>

В последней версии подключение скрипта fancybox можно активировать в плагине.

Основные настройки административной части можно переопределить прямо в статье с помощью параметров в теге плагина, как это принято в Joomla: добавьте параметр в тег, и он будет обработан автоматически.

Плагин использует современный API, но сохраняет совместимость со старыми структурами (например, папка images/stories/), что позволяет корректно работать с любыми путями.

Административная часть плагина Content - FancyBox Gallery

Административная часть плагина Content - FancyBox Gallery
Административная часть плагина Content - FancyBox Gallery

Структура папок галереи

Плагин автоматически создаёт следующую структуру папок для каждой галереи:

001/                # Оригиналы изображений уникальный ID галереи
├── thumbs/          # Сгенерированные миниатюры .webp 150х100 для галереи fancybox
├── src/             # Превью на странице (масштабированные/обрезанные)
└── fboxgallery.txt     # Файл с описаниями и порядком изображений

Файл fboxgallery.txt (название может быть изменено в админке плагина) должен находиться в той же папке, что и изображения (например, в 001). Он задаёт как порядок отображения, так и подписи (alt/title) через разделитель – символ «|»:

Наличие файла с подписями необязательно.

Структура файла подписей

имя_файла1.jpg|Альтернативный текст это alt|Заголовок это title
имя_файла2.jpg|Альтернативный текст alt|Заголовок title
имя_файла3.jpg|Альтернативный текст alt|Заголовок title

Варианты использования:

Настройки админки при вставке галереи можно переопределять тегами.

  • src_count=X → сколько превью показать
  • src_count=0 → галерея без превью, только с кнопками
  • preview_width → ширина превью px auto
  • preview_height → высота превью
  • caption → описание галереи (для figcaption)
  • counter=0 → 0/1/2 отображение и тип счетчика

1. Количество отображения превью

Настройки плагина в админке Превью в блоке будут перезаписаны src_count=1 в результате получим 1 превью 500 px по ширине и кнопки с подписями под ним. При к клике на большое превью открывается галерея в стиле Fancybox.

Первое изображение в файле описаний будет первым на странице. При отсутствии файла подписей сортировка будет по названиям оригиналов.

При клике на кнопку (под изображением) открывается нужное изображение в стиле галереи Fancybox.

{fboxgallery src_count=1}335{/fboxgallery}

Размер 1 крупного изображения (постер) шириной 500 px задан в админке. Другой размер можно задать тегами:

preview_width=600 preview_height=600

Код вставки галереи с одним превью:

{fboxgallery src_count=1 preview_width=600 preview_height=600}335{/fboxgallery}

Для одиночного превью задан отдельный стиль в CSS.

alt изображения 1

Размер превью можно задать самостоятельно тегами:

preview_width=200, preview_height=300

Пропорциональная ширина (AUTO):

Масштабирование с сохранением пропорций до ширины 500px, высота – автоматическая с сохранением пропорций.

{fboxgallery preview_width=500 preview_height=auto}335{/fboxgallery}

Создание галереи без превью

Параметр src_count=0 создаст галерею без превью с кнопкой:



Файл стилей всего несколько строк, поэтому лучше добавить его в файл стилей шаблона и отключить в админке.

Добавить комментарий


Комментарии  
  +1
Вещь очень полезная, но обёрка работает, а вот теги нет. Пробовал на Joomla5.
  +1
Спасибо за обратную связь!

Была загружена тестовая первая версия, которая не работает с тегами.
Сейчас загрузка обновлена - можно установить сверху. Появятся в админке поля для настройки плагина ну и все остальное должно работать. :-)
  +2
Всё заработало, спасибо!
  0
Почему-то при клике на превьюшку открывается само изображение в отдельном окне без возможности листать сайды. И, если в настройках выбираешь больше 1 превью, то картинки растягиваются на весь экран почему-то. Это на Joomla5.4
  0
Скрипт Fancybox у вас подключен в шаблоне?
  0
Сам плагин включен. Еще странность началась: при нажатии на ссылки, они начали выделяться рамочкой
  0
1. Скрипт Fancybox должен быть подключен в шаблоне. Скрипт и плагин - разные сути. Плагин только создает превью и разметку, а скрипт уже превращает ее в галерею.

2. Обновите версию - вчера выложил версию с кнопкой подключения скрипта - где есть теги должен подключаться скрипт Fancybox с CDN.

Я не проверял, т.к. у меня скрипт Fancybox подключен в шаблоне для всех страниц, но должно работать.

Рамочки - смотрите в своем css - в плагине все классы стилей уникальные .fboxgallery навряд ли они перебивают ваши стили шаблона.

Если есть ссылка для теста - дайте посмотреть.
  0
А как скрипт подключать именно в шаблоне?
  0
Обновите версию - вчера выложил версию с кнопкой подключения скрипта - где есть теги должен подключаться скрипт Fancybox с CDN.
+ В статье см. выше описал подключение скрипта.

Похожие статьи