Каталог решений

Покупка продления купона

Продолжительность:
Общая сумма:
0 руб.
Ваш запрос успешно отправлен!

Я согласен с условиями активации продлений
Продлить
Продолжить покупки

LESS Compiler (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;    }  }}Как это работаетОбработчик подписан на системное событие main/OnProlog (регистрируется при установке модуля через RegisterModuleDependences), поэтомувыполняется на каждом хите автоматически, без ручного IncludeModule().При активном модуле на каждый запрос:Собирается список .less-файлов (по всей файловой структуре сайта —кроме bitrix/, upload/, vendor/, node_modules/, .git/ (исключения настраиваются в админке) — либопо ручному списку).Считается «отпечаток» состояния (путь + время изменения + размеркаждого файла).Если отпечаток совпадает с сохранённым и скомпилированный файл наместе — пересборки не происходит, страница получает ссылку на ужеготовый style.css.Если отпечаток изменился (файл добавили/удалили/отредактировали) —файлы компилируются заново через Less_Parser, результат атомарноподменяет старый style.css.Итоговый файл кладётся в /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, отдаётся он.

LESS Compiler (EcomLabs)

LESS Compiler (EcomLabs)

от eCom Labs
Скриншоты
Описание

Технические данные

Опубликовано:
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;
   }
 }
}


Как это работает
  • Обработчик подписан на системное событие main/OnProlog (регистрируется при установке модуля через RegisterModuleDependences), поэтому
    выполняется на каждом хите автоматически, без ручного IncludeModule().
  • При активном модуле на каждый запрос:
    1. Собирается список .less-файлов (по всей файловой структуре сайта —
      кроме bitrix/, upload/, vendor/, node_modules/, .git/ (исключения настраиваются в админке) — либо
      по ручному списку).
    2. Считается «отпечаток» состояния (путь + время изменения + размер
      каждого файла).
    3. Если отпечаток совпадает с сохранённым и скомпилированный файл на
      месте — пересборки не происходит, страница получает ссылку на уже
      готовый style.css.
    4. Если отпечаток изменился (файл добавили/удалили/отредактировали) —
      файлы компилируются заново через Less_Parser, результат атомарно
      подменяет старый style.css.
  • Итоговый файл кладётся в /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)
Здесь пока никто ничего не написал. Будьте первым.
Установка

Установка

  1. Мастер установки в несколько шагов подготовит и установит решение

  2. Установите библиотеку компиляции 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).

  3. Перейдите в настройки модуля и:

    • включите чекбокс «Активен» (по умолчанию модуль выключен);
    • выберите источник файлов — «Собирать все файлы сайта и шаблона»
      (по умолчанию) или «Указать файлы вручную»;
    • при автоматическом режиме укажите папки испключения — достаточно указать первую папку, в подпапки компилятор заходить не будет. Поддерживаются исключения, например, вы исключаете папку 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 рабочих дня.

Другие решения разработчика

Решение добавлено в корзину

Перейдите в корзину и оформите заказ или продолжите покупки
Перейти в корзину
Продолжить покупки