Розробка сайту музею на 1С-Бітрікс

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

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

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

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

  • 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С-Бітрікс

Сайт музею балансує між двома функціями: представництво колекції в цифровому просторі і комерційна площадка з продажу квитків. На 1С-Бітрікс обидві задачі вирішуються штатними модулями — iblock для каталогізації, sale для квитків — з доробками під специфіку закладів культури.

Каталог колекцій та експозицій

Фондова колекція музею може нараховувати тисячі і десятки тисяч одиниць зберігання. Структура інфоблоку Collections проектується з урахуванням музейних стандартів опису:

  • PROPERTY_INVENTORY_NUM — інвентарний номер
  • PROPERTY_AUTHOR — автор/майстер (прив'язка до інфоблоку Persons)
  • PROPERTY_DATING — датування (рядок — «XV століття», «1890-і», «ок. 1650 р.»)
  • PROPERTY_TECHNIQUE — техніка/матеріал (множинний довідник)
  • PROPERTY_DIMENSIONS — розміри (рядок — «120×80 см, полотно»)
  • PROPERTY_COLLECTION — належність до колекції (прив'язка)
  • PROPERTY_HALL — зал експозиції (прив'язка до інфоблоку Halls)
  • PROPERTY_HI_RES_PHOTO — фото високої роздільної здатності (файл)
  • PROPERTY_AUDIO_GUIDE — аудіоописання (файл MP3)

Для фотографій налаштовується модуль обробки зображень: при завантаженні генеруються 4 варіанти — превью 300px для списків, середнє 800px для карточки, крупне 2000px для зуму і watermarked-версія для захисту від несанкціонованого використання. Watermark накладається через обробник OnFileSave.

Пошук по колекції реалізується через модуль search з фасетними фільтрами: по епосі, техніці, автору, залу. Для повнотекстового пошуку підключається Elasticsearch через кастомний SearchProvider — штатний пошук Бітрікс не справляється з обсягами музейних описів.

Онлайн-продаж квитків

Модуль sale адаптується під квиткову специфіку. Квиток — це товар у каталозі з властивостями:

Властивість товара Призначення
Тип квитка Дорослий / Дитячий / Пільговий / Сімейний
Експозиція Постійна / Тимчасова виставка «N»
Сеанс Дата + часовий слот (10:00–12:00, 12:00–14:00...)
Ліміт Максимум відвідувачів на сеанс

Ліміт відвідувачів — критична функція. При кожному продажу обробник OnSaleOrderAdd зменшує лічильник доступних місць для сеансу. Коли залишок досягає нуля, слот автоматично приховується з віджета вибору. Лічильник зберігається в окремому HL-блоці SessionSlots, а не у властивості товара — це виключає проблеми з конкурентним доступом при одночасних покупках. Для гарантії атомарності використовується UPDATE ... SET count = count - 1 WHERE count > 0 на рівні SQL.

Пільгові категорії (пенсіонери, студенти, інваліди, багатодітні) налаштовуються через правила кошика модуля sale. При виборі пільгової категорії покупець завантажує скан документа — поле у формі замовлення через ORDER_PROP типу «Файл». Менеджер верифікує документ перед підтвердженням.

Віртуальні екскурсії та онлайн-колекції

Це спрямування перетворює сайт музею з вітрини квиткової каси в самостійну культурну платформу. Розберімо технічну реалізацію.

360° панорами залів. Зйомка виконується сферичною камерою (Insta360, Ricoh Theta). Результат — еквірівносторонні проекції у форматі JPEG або TIFF розширенням 8K–12K. На сайті панорами відображаються через JavaScript-бібліотеку Pannellum (open source, без ліцензійних відрахувань) або Marzipano.

Панорами зберігаються в інфоблоці VirtualTours. Кожен елемент — один зал або фрагмент експозиції:

  • PROPERTY_PANO_IMAGE — файл панорами
  • PROPERTY_HOTSPOTS — JSON з координатами точок інтересу (yaw, pitch, type, target)
  • PROPERTY_LINKED_PANO — пов'язані панорами (переходи між залами)
  • PROPERTY_AUDIO_TRACK — фонове аудіосупровід

Hotspots бувають трьох типів:

  • info — при кліку відкривається карточка експоната (підтягується з інфоблоку Collections)
  • scene — перехід в інший зал (інша панорама)
  • audio — запуск аудіогіда для конкретного експоната

Редагування hotspots реалізується через кастомний адміністративний інтерфейс: менеджер відкриває панораму в адміні, кликає на точку і заповнює властивості. Координати yaw/pitch обчислюються з позиції кліку. Ніякого ручного введення градусів.

Аудіогіди. MP3-файли прив'язані до експонатів. При натиску на hotspot або на карточку експоната запускається HTML5 Audio Player з візуалізацією прогресу. Аудіогіди завантажуються через адміністративний інтерфейс з автоматичною конвертацією у формат AAC для економії трафіку (через FFmpeg на сервері, виклик з агента).

Онлайн-колекція з зумом. Для детального розгляду експонатів підключається OpenSeadragon — переглядач зображень з технологією Deep Zoom. Вихідне фото високої роздільної здатності (50–100 Мп для живопису) нарізається на тайли утилітою vips dzsave. Користувач масштабує зображення плавно, завантажуються лише видимі тайли — сторінка не зависає навіть на мобільних пристроях.

Тайли зберігаються на окремому домені cdn.museum-site.ru або в S3-сумісному сховищі. Модуль CDN Бітрікс налаштовується на раздачу статики з цього домену.

Афіша заходів

Інфоблок Events містить лекції, майстер-класи, концерти, ночі музеїв. Властивості:

  • Дата і час початку/кінця (два властивості типу «Дата/час»)
  • Вікове обмеження (список: 0+, 6+, 12+, 16+, 18+)
  • Вартість (число, 0 = безплатно)
  • Прив'язка до виставки (якщо захід у рамках виставки)
  • Реєстрація (так/ні + ліміт учасників)

Вивід на головній — компонент bitrix:news.list з фільтром >=DATE_ACTIVE_FROM за поточною датою і сортування за датою. Пройдені заходи автоматично йдуть в архів, але залишаються доступні за прямою посиланням — для SEO і для історії.

Для афіші генерується iCal-файл (формат .ics), який відвідувач може додати в Google Calendar або Apple Calendar одним кліком.

Доступність (WCAG 2.1)

Музеї як державні установи зобов'язані забезпечувати доступність сайту для людей з обмеженими можливостями. Вимоги WCAG 2.1 рівня AA:

  • Контрастність тексту — співвідношення не менше 4.5:1 (перевіряється axe-core при складанні)
  • Навігація з клавіатури — всі інтерактивні елементи доступні через Tab, фокус візуально виділен
  • alt-тексти — для кожного експоната обов'язкове поле в інфоблоці, без нього елемент не проходить валідацію при збереженні (обробник OnBeforeIBlockElementUpdate)
  • Режим підвищеної контрастності — перемикач в шапці, клас high-contrast на <body>, альтернативна кольорова схема через CSS-змінні
  • Масштабування тексту — верстка в rem, базовий font-size змінюється перемикачем
  • Субтитри — для відеоматеріалів обов'язковий трек <track kind="captions">

Schema.org та SEO

Для музею застосовується розмітка типу Museum з вкладеними об'єктами:

  • Museum — основна карточка з адресою, часами роботи, контактами
  • ExhibitionEvent — для тимчасових виставок
  • Event — для заходів афіші
  • CreativeWork — для окремих експонатів в онлайн-колекції
  • Offer — для квитків з ціною і доступністю

Розмітка генерується автоматично через JsonLd-компонент, який збирає дані з інфоблоків і формує JSON-LD-блок у <head> сторінки. Шаблон розмітки налаштовується в адміністративному розділі — маркетолог може додати поля без участі розробника.