Найти в Дзене
Кодовые решения

JavaScript и 1С-Битрикс: как создавать современные интерфейсы на базе проверенной CMS

JavaScript — язык, без которого уже невозможно представить ни один современный веб-проект. Даже если вы работаете на серверной платформе вроде 1С-Битрикс, знание и умелое применение JavaScript открывает огромные возможности: от динамической фильтрации и бесшовной пагинации до создания интерфейсов на Vue или React прямо внутри шаблонов компонентов. В этой статье мы глубоко разберём: Хотя Битрикс традиционно ассоциируется с PHP и серверной логикой, фронтенд без JS — это «мертвая» страница. JavaScript нужен для: Фильтр товаров без перезагрузки Ajax + JS
"Показать ещё" в каталогеJS + BX.ajax
Обновление корзины JS-объекты корзины
Вывод модальных окон (например, быстрая покупка) JS + шаблон
Управление табами, слайдерами Чистый JS или библиотеки (Swiper, jQuery UI и др.)
Использование Vue или React. SPA/гибридный интерфейс В файле component.php или шаблоне template.php: Также можно зарегистрировать и подключить свой скрипт: 📦 Работа с компонентами и AJAX Битрикс-компоненты можно перевести в
Оглавление

JavaScript — язык, без которого уже невозможно представить ни один современный веб-проект. Даже если вы работаете на серверной платформе вроде 1С-Битрикс, знание и умелое применение JavaScript открывает огромные возможности: от динамической фильтрации и бесшовной пагинации до создания интерфейсов на Vue или React прямо внутри шаблонов компонентов.

В этой статье мы глубоко разберём:

  • как правильно использовать JavaScript в проектах на 1С-Битрикс;
  • как взаимодействовать с компонентами;
  • как подключать скрипты и создавать кастомную интерактивность;
  • кейсы: ajax-подгрузка, кастомные фильтры, корзина без перезагрузки;
  • лучшие практики и рекомендации.

🧩 Что даёт JavaScript в 1С-Битрикс

Хотя Битрикс традиционно ассоциируется с PHP и серверной логикой, фронтенд без JS — это «мертвая» страница. JavaScript нужен для:

  • Реактивных интерфейсов;
  • Быстрой навигации без полной перезагрузки;
  • Ajax-запросов к компонентам или контроллерам;
  • Управления DOM и создания визуальных эффектов;
  • Интеграции с внешними API.

Примеры задач, решаемых через JS:

Фильтр товаров без перезагрузки Ajax + JS
"Показать ещё" в каталогеJS + BX.ajax
Обновление корзины JS-объекты корзины
Вывод модальных окон (например, быстрая покупка) JS + шаблон
Управление табами, слайдерами Чистый JS или библиотеки (Swiper, jQuery UI и др.)
Использование Vue или React. SPA/гибридный интерфейс

🛠 Подключение JavaScript в шаблонах

1. Подключение JS-файла в шаблоне компонента:

В файле component.php или шаблоне template.php:

-2

2. Подключение через ядро:

-3

Также можно зарегистрировать и подключить свой скрипт:

-4

📦 Работа с компонентами и AJAX

Битрикс-компоненты можно перевести в AJAX-режим. Пример:

-5

Это обеспечит автоматическую подгрузку части шаблона при действиях (сортировка, фильтр и т.д.).

🧠 Более гибкий способ: BX.ajax.runComponentAction

Сценарий: у нас есть кнопка "Показать ещё", которая догружает товары.

JavaScript:

-6

PHP (в классе компонента class.php):

-7

🛒 Интерактивная корзина

Корзина в Битриксе уже давно поддерживает JS-API.

Пример: добавление товара в корзину

Или через обёртки:
Или через обёртки:
Можно настроить уведомление, обновление иконки корзины, анимацию.
Можно настроить уведомление, обновление иконки корзины, анимацию.

🗂 Использование Vue.js и React в Bitrix

На многих современных проектах Битрикс используется как backend/API, а вся фронтенд-часть строится на Vue или React.

Как внедрить Vue/React:

  1. Устанавливаем сборщик (Webpack, Vite);
  2. Разворачиваем проект рядом с шаблоном сайта;
  3. Коммуникация с Битриксом — через:
    REST API;
    Ajax-контроллеры (/bitrix/services/main/ajax.php);
    Собственные API-эндпоинты.

Пример вызова кастомного контроллера:

-10

🎓 Лучшие практики использования JS в Битрикс

Разделяйте JS по компонентам. Лучше использовать модульный подход (например, по шаблонам).
Используйте ES6+. Современный синтаксис делает код чище.
Не смешивайте PHP и JS логики в шаблоне. Разделение ответственности. Минимизируйте и отложите JS, где возможно. Повышает производительность.
Не мешайте ядру Битрикс — используйте API. Ядро предоставляет BX, BX.ajax, BX.message и другие утилиты.
Используйте BX.debug, console.log и Network для отладки. Это поможет понять, что именно происходит в момент вызова.

📌 Реальные кейсы

1. Ajax-фильтрация каталога

  • Пользователь выбирает фильтры;
  • JS формирует запрос;
  • Ответ приходит HTML-блоком или JSON;
  • Подмена через innerHTML или insertAdjacentHTML.

2. Табовая навигация по разделам

  • Разметка с табами;
  • Обработка кликов JS;
  • Загрузка содержимого по data-section-id через BX.ajax.

3. Быстрый просмотр товара (модальное окно)

  • JS ловит клик;
  • Отправляется AJAX-запрос за контентом;
  • Вставка в BX.PopupWindow.

✅ Заключение

JavaScript в проектах на 1С-Битрикс — не просто "дополнение", а обязательная часть любого современного проекта. Он позволяет:

  • ускорить взаимодействие с сайтом;
  • повысить интерактивность;
  • улучшить пользовательский опыт;
  • интегрировать современные фреймворки.

Если вы работаете с Битриксом, изучение и правильное применение JavaScript — инвестиция, которая окупится в каждом проекте.