Настройка фотогалереи на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка фотогалереи на 1С-Битрикс
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • 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 Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка фотогалереи на 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().

Lazy loading. Атрибут 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.