Налаштування фотогалереї на 1С-Бітрікс

Наша компанія займається розробкою, підтримкою та обслуговуванням рішень на Бітрікс та Бітрікс24 будь-якої складності. Від простих односторінкових сайтів до складних інтернет-магазинів, CRM систем з інтеграцією 1С та телефонії. Досвід розробників підтверджено сертифікатами від вендора.
Пропоновані послуги
Показано 1 з 1 послугУсі 1626 послуг
Налаштування фотогалереї на 1С-Бітрікс
Проста
~1 робочий день
Часті питання

Наші компетенції:

Етапи розробки

Останні роботи

  • image_website-b2b-advance_0.png
    Розробка сайту компанії B2B ADVANCE
    1262
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Розробка веб-сайту для компанії ФІКСПЕР
    851
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Розробка на базі Бітрікс, Бітрікс24, 1С для компанії Development of an Online
    585
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Розробка на базі 1С Підприємство для компанії МИРСАНБЕЛ
    751
  • image_crm_dolbimby_434_0.webp
    Розробка сайту на CRM Бітрікс24 для компанії DOLBIMBY
    657
  • image_crm_technotorgcomplex_453_0.webp
    Розробка на базі Бітрікс24 для компанії ТЕХНОТОРГКОМПЛЕКС
    989

Налаштування фотогалереї на 1С-Бітрікс

Налаштування фотогалереї здається простим з першого погляду: показати фото в сітці з перегляданням у лайтбоксі. Але на практиці — адаптивні мініатюри, WebP, ледача завантаження, управління альбомами з адмінки, мета-теги для SEO. У Бітріксі є модуль фотогалереї (photogallery) та альтернативний шлях через інфоблок. Розберемо обидва.

Модуль photogallery

Модуль photogallery працює поверх інфоблока: створює спеціалізований інфоблок з попередньо встановленими властивостями для фото. Компоненти:

  • photogallery — комплексний компонент (альбоми + фото).
  • photogallery.album.list — список альбомів.
  • photogallery.album.edit — створення/редагування альбому.
  • photogallery.detail.list — список фото в альбомі.
  • photogallery.detail.view — перегляд фото.
  • photogallery.upload — завантаження фото.

Компонент photogallery об'єднує все. Параметри:

  • IBLOCK_ID — ID інфоблока галереї.
  • ALBUM_PHOTO_THUMBS_SIZE — розмір мініатюр.
  • ALBUM_PHOTO_SIZE — розмір для перегляду.
  • PHOTOS_PER_PAGE — фото на сторінці.

Обмеження модуля: шаблони застарілі, лайтбокс — власна реалізація Бітрікса (не Fancybox / GLightbox). Адаптивність не закладена. Для сучасного сайту потрібна повна переробка шаблонів.

Галерея на інфоблоці

Створюємо інфоблок «Фотогалерея». Розділи — альбоми. Елементи — фото. Структура властивостей мінімальна:

Властивість Тип Призначення
PREVIEW_PICTURE Файл (вбудований) Мініатюра
DETAIL_PICTURE Файл (вбудований) Повнорозмірне фото
DESCRIPTION Строка Підпис до фото
PHOTOGRAPHER Строка Автор знімка

При завантаженні через адмінку Бітрікса система автоматично створює мініатюру з DETAIL_PICTURE для PREVIEW_PICTURE (якщо налаштовано). Але краще керувати ресайзом явно — через CFile::ResizeImageGet() в шаблоні компонента з указанням точних розмірів.

Вивід: news.list для сітки фото, news.detail — опціонально, якщо потрібна окрема сторінка кожного фото. Для більшості галерей окремі сторінки не потрібні — перегляд у лайтбоксі достатній.

Лайтбокс

Стандартний вибір — GLightbox (7 КБ gzip, без залежностей) або Fancybox 5 (функціональніше, але важче). Підключаємо через npm або CDN.

У шаблоні news.list кожне фото оборачується в посилання з атрибутом data-gallery:

<a href="/upload/photo_full.jpg" class="glightbox" data-gallery="album1">
    <img src="/upload/photo_thumb.webp" loading="lazy" alt="Опис">
</a>

Ініціалізація: GLightbox({ selector: '.glightbox' }).

Адаптивна сітка

CSS Grid — оптимальне рішення для сітки фото. Для галереї з різноформатними знімками:

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    gap: 8px;
}

Для Pinterest-подібної розкладки (masonry) — grid-template-rows: masonry (експериментальна властивість) або JavaScript-бібліотека Masonry.js. Компроміс — фіксоване співвідношення сторін мініатюр через aspect-ratio: 1 (квадратні) або aspect-ratio: 4/3.

Оптимізація зображень

Галерея — це десятки фото на сторінці. Без оптимізації — мегабайти трафіку.

WebP-генерація. При завантаженні фото через інфоблок Бітрікс зберігає оригінал. WebP-версію генеруємо при першому звертанні через обробник або заздалегідь — через агент. Метод CFile::ResizeImageGet() з параметром BX_RESIZE_IMAGE_PROPORTIONAL і подальшою конвертацією через imagecreatefromjpeg() + imagewebp().

Ледача завантаження. Атрибут loading="lazy" на всіх <img> крім перших 4-6 (above the fold). Вбудована підтримка браузерами, без JavaScript.

Розміри мініатюр. Для сітки достатньо 400x300. Для лайтбокса — обмеження ширини 1600px. Зберігати оригінали в 4000x3000 на сервері можна, але передавати клієнту — не можна.

SEO для галереї

Фотогалереї індексуються через Google Images. Для кожного зображення важливий атрибут alt з описом. Schema.org-розмітка ImageGallery + ImageObject покращує представлення у видачі. Розмітка додається в шаблон компонента через JSON-LD.

Окремі сторінки альбомів (розділів) індексуються стандартно — з title, description та канонічним URL.