BB Components — модуль для «1С-Битрикс», который добавляет в платформу слой шаблонов Blade. Он даёт две вещи, которых нет в штатном наборе: возможность описать переиспользуемый блок как компонент с параметрами и слотами и возможность собрать страницу сайта на Blade, не меняя её публичный адрес.
На данный момент это альфа версия — бесплатно для первых пользователей. Сделайте заказ чтобы получить ранний доступ.
Обзор: https://wpcraft.ru/blog/blade-components-from-laravel-for-bitrix-cms
Модуль не заменяет Битрикс и не переносит проект на Laravel. Внутри — standalone-движок illuminate/view 12: он рендерит шаблоны, а данные, компоненты, свойства страниц и админка остаются битриксовыми. Из Blade можно вызвать любой штатный компонент через @bxComponent, поэтому большой каталог или корзину не нужно переписывать, чтобы они попали на новую страницу.
Практический результат: повторяющаяся разметка живёт в одном файле, страница описывает только состав и данные, а переезд на Blade идёт по одной странице с возможностью отката.
Сценарии использования
1. Один блок повторяется на десятках страниц
Карточка товара, форма подписки, плашка с акцией или блок контактов существуют в нескольких копиях, и правка расходится по ним с задержкой. Блок выносится в x-components один раз, страницы передают только параметры и содержимое. Смена вёрстки происходит в одном файле.
2. Раздел нужно обновить, не трогая остальной сайт
Переводится одна страница или один раздел: файл кладётся в x-pages по тому же пути, что и текущий URL. Остальные страницы продолжают работать на нативном PHP. Если результат не устроил, x-page удаляется — адрес снова обрабатывает штатная страница.
3. Крупный компонент Битрикса нужен в новой вёрстке
Каталог, корзину, оформление заказа или включаемую область не нужно переписывать: @bxComponent('bitrix:catalog', ...) вставляет их в Blade-страницу как есть. Миграция внутренних шаблонов компонента остаётся отдельной задачей и делается тогда, когда до неё дойдут руки.
4. Нужен новый URL без нового PHP-файла
Достаточно добавить x-pages/<путь>/index.blade.php: модуль при установке регистрирует общее правило в urlrewrite.php, и адрес начинает обслуживаться Blade. Это удобно для промо-страниц, лендингов и служебных разделов.
Когда сценарий не этот
Если задача — поменять один шаблон одного компонента и она закрывается штатной системой шаблонов Битрикса, модуль не нужен. Если нужен готовый набор блоков для контент-менеджера без разработчика — тоже: BB Components работает с файлами в коде.
Ключевые составляющие
X-components
Анонимные Blade-компоненты в /local/x-components/. Отдельный PHP-класс не нужен: файл alert.blade.php сразу становится тегом <x-alert>. Поддерживаются @props с параметрами и значениями по умолчанию, основной и именованный слоты, вложенность через точку — forms/input.blade.php вызывается как <x-forms.input />.
X-pages
Страницы на Blade в /local/x-pages/, повторяющие структуру публичных URL: index.blade.php — главная, about/delivery/index.blade.php — /about/delivery/. Рендерятся на тех же адресах, что и нативные страницы.
Директивы-мосты
@bxComponent(...) вызывает любой компонент Битрикса из Blade-шаблона. @title(...) задаёт заголовок страницы, @pageProperty(...) — её свойства. Связь с платформой не теряется: страница остаётся частью сайта, а не отдельным приложением.
Компонент bb:button
Классический компонент Битрикса, шаблон которого рендерится Blade. Копируется при установке в /local/components/bb/. Показывает, как совместить IncludeComponent, параметры и Blade-разметку в одном компоненте.
Страница настроек
Раздел в админке с путями к каталогам компонентов, страниц и кэша, а также кнопкой очистки скомпилированных шаблонов.
Blade-движок и зависимости
illuminate/view 12 и все PHP-зависимости лежат в vendor/ внутри каталога модуля /local/modules/bb.components/. Composer на целевом сайте не требуется.
Особенности, которые отличают
- Миграция по одной странице. Нет требования переносить сайт целиком: переводится страница, проверяется, переносится следующая.
- URL не меняются. Структура x-pages повторяет структуру публичных адресов, поэтому ссылки, SEO-история и закладки остаются прежними.
- Откат без правок кода. Удаление x-page возвращает страницу на нативный PHP — без обратной миграции и без правки шаблона.
- Никаких прокси-однострочников. Модуль перехватывает страницу на
OnFileRewriteпосле полной инициализации ядра, поэтому в существующих PHP-файлах ничего менять не нужно, а$USER, авторизация и константы шаблона уже готовы. - Мосты вместо замены. Штатные компоненты вызываются из Blade, а не переписываются; можно оставить каталог, корзину и оформление заказа как есть.
- Автономная установка. Зависимости лежат в
vendor/внутри архива: скопировать каталог и нажать «Установить» в админке. Composer нужен только для пересборки поставки. - Прозрачная механика. Исходный код, документация и smoke-тест входят в поставку, поэтому поведение можно проверить до покупки и после установки.
Что входит в поставку
Единица покупки — установочный архив BB Components 0.1.261031:
- модуль
bb.componentsс установкой через административный раздел; - Blade-движок на основе
illuminate/view12; - все PHP-зависимости в каталоге
vendor/; - поддержка анонимных компонентов, параметров, значений по умолчанию, слотов и вложенных компонентов;
- маршрутизация Blade-страниц из
local/x-pages/; - директивы
@bxComponent,@title,@pageProperty; - компонент
bb:buttonс Blade-шаблоном; - страница настроек с путями к каталогам и очисткой кэша;
- инструкция по установке и проверке.
Стоимость: {{ price }} ₽. Лицензия: {{ license_terms }}. Обновления: {{ update_terms }}.
[Перейти к покупке BB Components]({{ purchase_url }})
Кому подходит
- командам, которые разрабатывают и поддерживают собственные шаблоны на «1С-Битрикс»;
- тем, кому нужны параметры, слоты и вложенные компоненты в разметке;
- тем, кто предпочитает постепенную миграцию полной переделке сайта;
- разработчикам, готовым работать с Blade-файлами в коде, а не только в визуальном редакторе.
Кому не подходит
- если нужно менять оформление через визуальный редактор без разработчика;
- если задача — один шаблон одного компонента, и штатных средств Битрикса достаточно;
- если нужна готовая библиотека дизайна или блоков «из коробки»;
- если в проекте жёстко зафиксирована другая версия библиотек Laravel и совместная работа не проверена.
Ограничения
- Визуальный редактор не заменяется. Чистые x-components в нём не отображаются как компоненты Битрикса: редактор работает с нативной страницей, содержимое Blade живёт в x-page.
- Системные страницы остаются нативными.
/auth/не переносится. Каталог, корзину и оформление заказа можно подключить через мосты, но переписывание их внутренних шаблонов — отдельная задача. - Общее правило новых URL зависит от
urlrewrite.php. Изменения на странице «Обработка адресов» могут его перезаписать; после таких правок маршрутизацию нужно проверить. - Настройки каталогов общие для установки. Отдельных путей x-components и x-pages для разных сайтов в многосайтовой конфигурации в текущей версии нет.
- Другая версия Illuminate требует проверки. Если в проекте уже загружены библиотеки Laravel другой версии, совместную работу нужно протестировать на копии сайта.
- Композитный режим не проверялся в версии 0.1.261031: страницы с HTML-кэшем и динамическими зонами требуют отдельной проверки в вашей конфигурации.
Технические требования
- PHP 8.2 или новее;
- «1С-Битрикс: Управление сайтом» — проверено на редакции «Бизнес», главный модуль 26.x;
- Composer — только для сборки
vendor/при разработке поставки, на сайте не нужен; - права на запись в
/local/для создания каталогов компонентов, страниц и кэша.
Проверено: рендер, экранирование HTML, параметры и значения по умолчанию, основной и именованный слоты, вложенные компоненты, пользовательские директивы, namespace страниц и контекст ошибок. Дистрибутив дополнительно проверен отдельно от проектного окружения — после распаковки Blade отрендерил шаблон, используя только vendor/ из поставки.
Частые вопросы и ответы
Что именно покупается — модуль или подписка?
Покупается установочный архив версии 0.1.261031. Порядок получения обновлений описан в условиях: {{ update_terms }}.
Нужно ли устанавливать Laravel?
Нет. Используется standalone-компонент illuminate/view, а не приложение Laravel. Зависимости уже в архиве.
Нужен ли Composer на сервере?
Нет. Composer нужен только при пересборке зависимостей для разработки поставки. Для установки достаточно скопировать модуль и запустить установку в админке.
Придётся ли отказаться от компонентов Битрикса?
Нет. @bxComponent вызывает штатный компонент из Blade-шаблона. Существующие компоненты остаются, переносятся только те шаблоны, которые вы запланировали.
Изменятся ли адреса страниц?
Нет. X-pages зеркалят структуру URL, страница переводится на Blade без смены публичного адреса.
Можно ли вернуться к обычным PHP-страницам?
Да. Для отката страницы удалите её x-page. При удалении модуля снимается его регистрация, а созданные каталоги данных и скопированные компоненты остаются — их можно удалить вручную после проверки.
Что будет с сайтом, если модуль отключить?
Нативные страницы продолжат работать как раньше. Страницы, у которых есть только x-page без PHP-файла, перестанут открываться — это новые URL, которых до модуля не существовало.
Подойдёт ли контент-менеджеру без разработчика?
Нет. Создание компонентов и перенос страниц требует работы с PHP- и Blade-файлами. Контент-менеджер может продолжать пользоваться привычными областями и компонентами Битрикса, но первичную настройку делает разработчик.
Работает ли на многосайтовой установке?
Модуль устанавливается на установку целиком: пути к x-components и x-pages общие. Раздельных каталогов под каждый сайт в текущей версии нет.
Совместим ли с композитным режимом?
В версии 0.1.261031 композитный режим не входил в проверку. Для страниц с HTML-кэшем и динамическими зонами нужна отдельная проверка на вашем контуре.
Нужна ли правка существующих PHP-страниц?
Нет. Модуль сам выбирает x-page для URL. Для новых адресов без PHP-файла используется общее правило в urlrewrite.php, которое добавляется при установке.
Что проверять при обновлении Битрикса?
После обновления ядра откройте мигрированные страницы и проверьте: заголовок и метаданные, работу @bxComponent, формы и динамические блоки, а также правило маршрутизации на странице «Обработка адресов».
С чего начать
- Развернуть копию сайта или тестовый контур, сделать резервную копию.
- Установить модуль и убедиться, что тестовая страница рендерится.
- Вынести один повторяющийся блок в x-components.
- Перевести одну простую страницу в x-pages и сравнить с нативной.
- Расширять библиотеку компонентов по мере переноса разделов.
Отзывы
Отзывов пока нет.