LESS компилятор (EcomLabs)
Бесплатно
Работает на редакциях Битрикс:
Первый сайтСтартСтандартМалый бизнесБизнес
Выберите подарок
При покупке данного товара вам полагается один из подарков представленных ниже
Нужна помощь?
Поможем с настройкой "LESS компилятор (EcomLabs)"
Решение создано в основном для frontend-разработчиков, которые привыкли писать более лаконичный код используя less-файлы с объявлением общих переменных и древовидную систему объявления классов:
@rounded_corners: false;
@links: #1ABC9C;
@menu_links: #ffffff;
@menu: #34495e;
@base: #EDEFF1;
@font: #333333;
.wysiwyg-content {
word-wrap: break-word;
h1 {
&.main-title {
margin-top: 10px;
padding-bottom: 10px;
font-size: 36px;
text-transform: uppercase;
line-height: 155%;
font-weight: normal;
}
&.main-title2 {
margin-top: 45px;
font-weight: normal;
font-size: 37px;
}
@media (max-width: 767px) {
&.main-title2,
&.main-title {
font-size: 24px;
}
}
}
h3 {
&.main-title2 {
margin: 78px 0 32px;
font-size: 22px;
font-weight: normal;
}
}
}
Как это работает
@rounded_corners: false;
@links: #1ABC9C;
@menu_links: #ffffff;
@menu: #34495e;
@base: #EDEFF1;
@font: #333333;
.wysiwyg-content {
word-wrap: break-word;
h1 {
&.main-title {
margin-top: 10px;
padding-bottom: 10px;
font-size: 36px;
text-transform: uppercase;
line-height: 155%;
font-weight: normal;
}
&.main-title2 {
margin-top: 45px;
font-weight: normal;
font-size: 37px;
}
@media (max-width: 767px) {
&.main-title2,
&.main-title {
font-size: 24px;
}
}
}
h3 {
&.main-title2 {
margin: 78px 0 32px;
font-size: 22px;
font-weight: normal;
}
}
}
Как это работает
- Обработчик подписан на системное событие main/OnProlog (регистрируется при установке модуля через RegisterModuleDependences), поэтому
выполняется на каждом хите автоматически, без ручного IncludeModule().
- При активном модуле на каждый запрос:
- Собирается список .less-файлов (по всей файловой структуре сайта —
кроме bitrix/, upload/, vendor/, node_modules/, .git/ (исключения настраиваются в админке) — либо
по ручному списку).
- Считается «отпечаток» состояния (путь + время изменения + размер
каждого файла).
- Если отпечаток совпадает с сохранённым и скомпилированный файл на
месте — пересборки не происходит, страница получает ссылку на уже
готовый style.css.
- Если отпечаток изменился (файл добавили/удалили/отредактировали) —
файлы компилируются заново через Less_Parser, результат атомарно
подменяет старый style.css.
- Собирается список .less-файлов (по всей файловой структуре сайта —
- Итоговый файл кладётся в /upload/ecl_lesscompiler/<SITE_ID>/style.css
и подключается в <head> отдельным <link> через
$APPLICATION->SetAdditionalCSS() — независимо от остальных CSS темплейта/сайта.
- Композитный сайт: обработчик обращается только к файловой системе и добавляет <link> на статический файл — при генерации композитного снимка страницы этот <link> попадает в закешированный HTML, а сам style.css браузер после этого запрашивает напрямую, минуя PHP.
Ничего не мешает механизму композита.
- Directory-скан в режиме «все файлы» дополнительно кешируется на 60 минут (Bitrix\Main\Data\Cache), чтобы не обходить дерево каталогов на каждый хит; кнопка «Принудительно пересобрать сейчас» в настройках сбрасывает этот кеш и пересобирает CSS немедленно.
- Ошибка компиляции (синтаксис LESS, недостающий @import и т.п.) логируется в журнал событий Bitrix и не ломает страницу — если ранее уже был собран рабочий style.css, отдаётся он.
| Разработчик | eCom Labs |
| Опубликовано | 09.09.2026 |
| Версия | 1.0.0 |
| Установлено | Менее 50 раз |
| Адаптивность | Да |
| Поддержка Композита | Да |
| Подходящие редакции | Первый сайт, Старт, Стандарт, Малый бизнес, Бизнес |
| Бесплатно | Да |
| Пробный период | Нет |
