Kokhanenko: HL-блоки
Kokhanenko: HL-блоки
HL-блоки и контент — с редактированием прямо на странице сайта.
· ·
«Kokhanenko: HL-блоки» помогает выводить данные Highload-блоков на сайте и редактировать записи там, где они показаны. Разработчик подключает компоненты и оформляет шаблон, а контент-менеджер меняет текст, изображения и другие поля через публичный редактор.
Для небольших фрагментов страницы предусмотрены области контента — альтернатива файловым включаемым областям. Один код области может иметь отдельное содержимое для разных языков и сайтов.
Для каких задач
- списки новостей, услуг, сотрудников и партнёров на основе HL-блоков;
- детальные страницы записей с изображениями и связями;
- вступительные тексты, подписи и другие редактируемые фрагменты шаблона;
- разные тексты одной области на русской и английской версиях сайта;
- общие SEO-правила для HL-блока и индивидуальные настройки его записей.
Основные возможности
- Список и детальная запись. Два независимых компонента с выбором полей, фильтрацией, сортировкой и кешированием. Детальную запись можно искать по ID или UF_UNIC_CODE.
- Редактирование на странице. Просмотр, создание, изменение и удаление записей с учётом штатных прав HL-блока. Форма открывается по запросу пользователя.
- Области контента. Обычный текст, многострочный текст и доверенный HTML. Для каждой пары «язык + сайт» хранится своё значение.
- Работа с файлами и связями. Выбранные файловые поля и HL-связи раскрываются пакетно. Можно отдельно выбрать поля связанной записи.
- Системные поля. Подключение активности, сортировки, дат создания и изменения, уникального кода к выбранным HL-блокам.
- Удобные поля. Штатные типы Битрикса, визуальный HTML-редактор, числовой ввод и генерация уникального кода.
- SEO и OpenGraph. Общие правила HL-блока, наследование и переопределения у элементов, шаблоны значений и предпросмотр.
Одна область — несколько языковых версий
Например, home.intro выводит русский текст на одном сайте и английский на другом. Редактор открывает нужную версию страницы и меняет её содержимое. Если перевод ещё не заполнен, текст другого языка не подставляется. Автоматический перевод не выполняется.
Для разработчика
Доступны компоненты kokhanenko:hlblock.list, kokhanenko:hlblock.detail и шаблонный блок kokhanenko:content.block. PHP API позволяет собирать неизменяемые запросы через Kokhanenko\Hlblocks\Facade\HlBlock::query(), а ContentItemWrapper::showBlock() подключает редактируемую область.
В компонентах HL-блок выбирается по техническому имени. Исходные ID файлов и связей сохраняются; дополнительные данные находятся в полях с суффиксом _DATA. Общий кеш не содержит пользовательские права и токены форм.
Что учитывать
Для начала работы нужны установленный модуль highloadblock и PHP 8.2 или новее. Структуру HL-блоков, размещение компонентов и оформление настраивает разработчик. Скриншоты новостей показывают пример шаблона проекта: готовый новостной раздел не создаётся установщиком. Модуль не заменяет торговый каталог, конструктор страниц или проверку доступа к закрытым данным.
·