Корзина
0
Скриншоты
Описание
Технические данные
- Опубликовано:
- 09.09.2026
- Версия:
- 1.0.0
- Установлено:
- Менее 50 раз
- Подходящие редакции:
- «Первый сайт», «Старт», «Стандарт», «Малый бизнес», «Бизнес»
- Адаптивность:
- Да
- Поддержка Композита:
- Да
- Совместимо с Сайты24
- Нет
Пользовательское соглашение
Описание
Решение создано в основном для 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, отдаётся он.
Отзывы (0)
Обсуждения (0)
Авторизуйтесь , чтобы оставить отзыв или задать вопрос разработчику.
Здесь пока никто ничего не написал. Будьте первым.
Установка
Установка
Мастер установки в несколько шагов подготовит и установит решение
Установите библиотеку компиляции LESS через Composer — прямо в папке модуля:
cd /path/to/site/bitrix/modules/ecl.lesscompiler
composer require wikimedia/less.phpЕсли в проекте уже есть корневой composer.json (стандартно для D7), можно вместо этого выполнить composer require wikimedia/less.php в корне проекта — модуль сам найдёт vendor/autoload.php там же (проверяются: <модуль>/vendor, <DOCUMENT_ROOT>/vendor, <DOCUMENT_ROOT>/../vendor, <DOCUMENT_ROOT>/local/vendor).
Перейдите в настройки модуля и:
- включите чекбокс «Активен» (по умолчанию модуль выключен);
- выберите источник файлов — «Собирать все файлы сайта и шаблона»
(по умолчанию) или «Указать файлы вручную»; - при автоматическом режиме укажите папки испключения — достаточно указать первую папку, в подпапки компилятор заходить не будет. Поддерживаются исключения, например, вы исключаете папку bitrix, но хотите сканировать папку templates, добавьте отдельной строкой !bitrix/templates
- при ручном режиме — впишите пути к .less-файлам от корня сайта, каждый на новой строке, например: /local/templates/main/less/style.less
/local/templates/main/less/print.less - сохраните настройки.
- включите чекбокс «Активен» (по умолчанию модуль выключен);
Поддержка
По всем вопросам просим обращаться через сайт или по почте helpdesk@ecom-labs.ru
Поддержка осуществляется по будням с 8:00 до 17:00 по московскому времени. Скорость ответа зависит от загруженности команды и сложности вопроса, но в среднем составляет 1-2 рабочих дня.
Поддержка осуществляется по будням с 8:00 до 17:00 по московскому времени. Скорость ответа зависит от загруженности команды и сложности вопроса, но в среднем составляет 1-2 рабочих дня.