LESS компилятор (EcomLabs)
От: eCom Labs
Бесплатно
Заказать установку
Дата публикации:
09.09.2026
Число установок:
Менее 50 раз
Дата обновления:
Нет
Включает в себя:
Модуль
Последняя версия:
1.0.0
Решение создано в основном для 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, отдаётся он.
Характеристики
|
Дата публикации
|
09.09.2026 |
|
Число установок
|
Менее 50 раз |
|
Дата обновления
|
Нет |
|
Включает в себя
|
Модуль |
|
Последняя версия
|
1.0.0 |
|
Адаптивность
|
Да |
|
Поддержка композита
|
Да |
|
Совместимо с Сайты24
|
Нет |
|
Подходящие редакции 1С-Битрикс
|
3373 3380 3381 3382 3383 |
|
Наличие демо-режима
|
Да |
|
Продолжительность демо-периода
|
Нет |
