Услуги по вёрстке и шаблонам для 1С-Битрикс

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 30 из 36 услугВсе 1626 услуг
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1173
  • 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С Предприятие для компании МИРСАНБЕЛ
    745
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Вёрстка и шаблоны для 1С-Битрикс

Шаблоны компонентов — здесь живёт 70% проблем

Компонентная система Битрикс устроена просто: есть компонент (логика), есть шаблон (представление). Проблема в том, что в реальных проектах эта граница размывается. Открываешь template.php у предыдущего подрядчика — а там SQL-запросы, бизнес-логика и inline-стили в одном файле. Мы жёстко разделяем: логика — в result_modifier.php или component_epilog.php, представление — в template.php. Никакого CIBlockElement::GetList в шаблоне.

Структура, которой придерживаемся

Кастомный шаблон компонента — это не один файл, а структура:

  • template.php — только HTML и вывод $arResult
  • result_modifier.php — подготовка данных, дополнительные выборки, форматирование
  • component_epilog.php — код, который выполняется после кэширования (счётчики, формы)
  • style.css и script.js — подключаются автоматически через \Bitrix\Main\Page\Asset
  • .parameters.php — параметры для настройки из визуального редактора

CSS и JS подключаем через Asset::getInstance()->addCss() и addJs(). Не через <link> в шаблоне — иначе ломается объединение файлов и кэширование.

Кэширование — критично для highload

Компонентное кэширование в Битрикс — мощная штука, но её легко сломать. Типичная ошибка: вывели имя пользователя внутри кэшированного компонента каталога — и все видят одно имя. Решение: component_epilog.php для динамических вставок, которые не должны кэшироваться.

Tagged cache ($this->setResultCacheKeys, CIBlock::clearIblockTagCache) — обязательно настраиваем. Изменили товар в админке — кэш именно этого товара сбрасывается автоматически, без сброса всего.

Типовые шаблоны

  • Каталогcatalog.section и catalog.element с переключением вида (плитка/список/таблица). Lazy load для изображений, srcset для ретины
  • Корзинаsale.basket.basket с AJAX-обновлением без перезагрузки страницы. Мини-корзина в шапке через sale.basket.basket.line
  • Мегаменюmenu с кэшированием по разделам и отложенной загрузкой подменю
  • Поискsearch.title с автоподсказками, дебаунс 300мс, превью товаров в дропдауне
  • Хлебные крошкиbreadcrumb с микроразметкой BreadcrumbList по Schema.org

Кастомизация шаблонов Маркетплейса

Купленное готовое решение — отправная точка, не финал. Что обычно переделываем:

  • Выносим инлайн-стили в отдельные файлы — в штатных шаблонах любят засовывать CSS прямо в HTML
  • Убираем неиспользуемый JS — типовые решения тянут jQuery-плагины на 200+ КБ, из которых используется один слайдер
  • Перерабатываем result_modifier.php — часто там избыточные запросы к базе, которые уже есть в $arResult
  • Адаптируем дизайн без потери обновляемости — кастомизируем копию шаблона, оригинал не трогаем

CSS: BEM, Tailwind или гибрид

BEM — предсказуемость для больших проектов

На проектах с десятками шаблонов компонентов BEM — спасение. .product-card, .product-card__price, .product-card--featured. Стили изолированы, конфликтов нет, новый разработчик читает классы и понимает структуру без документации.

Специфика Битрикса: компоненты генерируют обёртки с классами вида bx-component. Не боремся с ними — оборачиваем свой BEM-блок внутри.

Tailwind — скорость на типовых задачах

Для проектов, где скорость разработки приоритетнее долгосрочной поддержки. PurgeCSS (встроен в Tailwind 3+) вырезает неиспользуемое — итоговый CSS 10-30 КБ вместо сотен. Конфигурация дизайн-токенов через tailwind.config.js: цвета, шрифты, отступы зафиксированы в одном месте.

Гибрид — чаще всего берём именно его

BEM для структурных компонентов (каталог, карточка товара, чекаут), Tailwind для утилитарных вещей (отступы, flex-раскладки, цвета текста). Работает, когда команда договорилась о границе.

Производительность фронтенда — Core Web Vitals

Critical CSS — LCP под контролем

Выделяем стили первого экрана через critical (npm-пакет), инлайним в <head>. Остальное грузится асинхронно через media="print" onload="this.media='all'". Разница в LCP — секунда-полторы на мобильных.

Изображения — главный источник тормозов

  • WebP через <picture> с JPEG-фоллбэком. AVIF — если аудитория на свежих браузерах
  • loading="lazy" для всего ниже первого экрана
  • width и height прописаны явно — CLS = 0, макет не прыгает
  • Конвертация на лету: обработчик в urlrewrite.php для автоматической генерации WebP из загруженных изображений

Минификация и сжатие

  • CSS и JS через Vite или встроенное объединение Битрикс (Настройки → Главный модуль → Оптимизация CSS)
  • Brotli на nginx (brotli_comp_level 6) — на 15-20% эффективнее gzip
  • Кэширование статики: expires 1y + версионирование через query string или hash в имени файла

Адаптивная вёрстка — mobile-first

Базовые стили — для мобильных (320px+). Десктопные добавляем через @media (min-width: 1024px). Не наоборот.

Breakpoint Диапазон Что адаптируем
Мобильные 320-639px Одноколоночная сетка, увеличенные touch-зоны (минимум 44x44px)
Планшеты 640-1023px Двухколоночная сетка, адаптированная навигация
Десктоп 1024-1439px Полная сетка, сайдбары, мегаменю
Широкие экраны 1440px+ max-width на контейнере, увеличенные отступы

Ретина: SVG для иконок (прогоняем через SVGO — минус 30-50% размера), srcset с 2x для растровых изображений.

Доступность и кроссбраузерность

ARIA-атрибуты для интерактивных элементов: role="dialog" на модалках, aria-expanded на аккордеонах, aria-label на иконочных кнопках. Навигация табом, контрастность по WCAG 2.1 AA.

Поддерживаем: Chrome, Firefox, Safari, Edge — последние 2 версии. Safari iOS 15+, Chrome Android 10+, Yandex Browser. Для остального — graceful degradation: всё работает, но без анимаций и теней.

Сроки

Объём Срок
Лендинг (5-7 экранов) 3-5 дней
Корпоративный сайт (15-20 уникальных страниц) 2-4 недели
Интернет-магазин (30+ шаблонов компонентов) 4-8 недель
Кастомизация готового решения Маркетплейса 1-3 недели
Редизайн существующего проекта 3-6 недель

После анализа макетов даём разбивку по компонентам и страницам — с указанием, что переиспользуется, а что верстается с нуля.