Разработка слайдеров и баннеров на 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Разработка слайдеров и баннеров на 1С-Битрикс
Средняя
~1-2 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • 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С-Битрикс

Стандартный баннер Битрикс — компонент bitrix:advertising.banner, привязанный к модулю рекламы (advertising). Он создавался в эпоху GIF-баннеров и учёта показов/кликов. Для современных задач — полноэкранных слайдеров с анимацией, адаптивных баннерных сеток, видеофонов — он не подходит. Нужна кастомная разработка, которая даёт маркетологу удобное управление через админку, а фронтенду — производительный и гибкий рендеринг.

Почему не стандартный модуль рекламы

Модуль advertising хранит баннеры в таблице b_adv_banner. У каждого баннера — HTML-код, тип контракта (показы/клики), период, привязка к разделам. Модуль считает статистику и управляет ротацией.

Проблемы:

  • Редактор баннера — textarea с HTML-кодом. Менеджер без знания вёрстки не сможет менять контент.
  • Нет концепции слайдера — модуль оперирует отдельными баннерами, а не упорядоченными наборами слайдов.
  • Нет адаптивных изображений — один баннер для всех экранов. На мобильном горизонтальное изображение 1920x600 становится нечитаемым.
  • Нет ленивой загрузки, WebP, видеофонов — всё это придётся дописывать поверх.

Инфоблок как хранилище

Практичное решение — отдельный инфоблок «Слайдеры и баннеры». Каждый элемент — один слайд или баннер. Разделы инфоблока — именованные зоны размещения (hero-slider, catalog-banner, sidebar-promo).

Структура свойств элемента:

Свойство Тип Назначение
IMAGE_DESKTOP Файл Изображение для десктопа (1920x600)
IMAGE_MOBILE Файл Изображение для мобильных (768x900)
VIDEO_BG Файл Видеофон (MP4, до 5 МБ)
TITLE Строка Заголовок слайда
SUBTITLE Строка Подзаголовок
BUTTON_TEXT Строка Текст кнопки
BUTTON_LINK Строка Ссылка кнопки
BUTTON_TARGET Список _self / _blank
BG_COLOR Строка Цвет фона (fallback при загрузке)
TEXT_COLOR Список light / dark (для контраста с фоном)
SORT Число Порядок в слайдере

Для адаптивных изображений делаем два отдельных свойства, а не одно с ресайзом. Причина: на мобильном нужен не просто уменьшенный десктопный баннер, а принципиально другая композиция — вертикальная, с крупным текстом, другим кадрированием.

Компонент вывода

Компонент local:banner.slider принимает параметры:

  • IBLOCK_ID — инфоблок баннеров.
  • SECTION_CODE — код раздела (зона размещения).
  • SLIDER_ENGINE — библиотека: swiper, splide, native.
  • AUTOPLAY — автопрокрутка (true/false).
  • AUTOPLAY_DELAY — интервал в миллисекундах.
  • LAZY_LOAD — ленивая загрузка изображений.
  • CACHE_TIME — время кэша.

В class.php компонент выбирает активные элементы из нужного раздела, сортирует по SORT, для каждого изображения генерирует WebP-версию через \Bitrix\Main\File\Image\Imagick (или GD) и формирует <picture> с <source>.

Выбор слайдер-библиотеки

Swiper — де-факто стандарт. 140 КБ (minified), поддержка touch, lazy loading, виртуальных слайдов, параллакс-эффектов. Подключается через npm или CDN.

Splide — легковесная альтернатива, 30 КБ. Меньше возможностей, но достаточно для большинства задач. Нет зависимостей.

Нативный CSS-слайдерscroll-snap-type + scroll-behavior: smooth. Ноль JavaScript для базовой прокрутки. Автопрокрутка и индикаторы потребуют минимального JS. Максимальная производительность, но ограниченная анимация.

Рекомендация: Splide для типовых проектов, Swiper для сложных сценариев (параллакс, вертикальные слайдеры, nested), нативный CSS — для минималистичных проектов с акцентом на скорость.

Оптимизация загрузки

Слайдер на главной — первый визуальный элемент. Его скорость загрузки напрямую влияет на Core Web Vitals (LCP).

Первый слайд — без lazy load. Атрибут loading="eager" и fetchpriority="high" для первого изображения. Остальные слайды — loading="lazy".

Preload первого изображения в <head>:

<link rel="preload" as="image" href="/upload/slider/hero-1.webp"
      media="(min-width: 768px)" type="image/webp">
<link rel="preload" as="image" href="/upload/slider/hero-1-mob.webp"
      media="(max-width: 767px)" type="image/webp">

Добавляется через \Bitrix\Main\Page\Asset::getInstance()->addString() в компоненте.

Размер изображений. Десктопный баннер 1920x600 в JPEG весит 200-400 КБ. В WebP — 80-150 КБ. AVIF — ещё меньше, но поддержка браузерами пока неполная. Компонент генерирует обе версии и выводит <picture> с fallback.

Видеофон. MP4 с кодеком H.264, разрешение 1280x720, битрейт 1-2 Мбит/с, длительность 5-10 секунд. Атрибуты <video>: autoplay muted loop playsinline. На мобильных видео заменяется статичным изображением — экономия трафика и батареи. Определяется через matchMedia('(max-width: 768px)').

Управление для маркетолога

Менеджер работает в привычном интерфейсе инфоблока: создаёт элемент, загружает изображения, заполняет текстовые поля, ставит даты активности. Предпросмотр — через кнопку «Просмотр» элемента инфоблока с кастомным шаблоном.

Сортировка слайдов — drag-and-drop в списке элементов (если включена визуальная сортировка в настройках инфоблока) или через поле SORT.

Сроки

Вариант Состав Срок
Один слайдер Инфоблок, компонент, Splide, адаптив, WebP 3-5 дней
Баннерная система Несколько зон, видеофоны, preload, аналитика кликов, A/B-тестирование 8-12 дней