# Документация редактора баннеров

qwelp.bannereditor 1.0.0

Встроенная справка: Квэлп → Редактор баннеров → Документация.

## Начало работы

Модуль хранит размещения, баннеры, адаптивные значения и заявки. Стандартные компоненты работают на средствах Bitrix и собственных ресурсах модуля.

1. Установите qwelp.bannereditor через Marketplace или список модулей. Требуется PHP 8.2 и БУС с main 23.0 или новее; релиз проверяется на актуальной платформе.
2. Откройте Квэлп → Редактор баннеров → Размещения. При установке без существующих размещений создаётся «Демонстрационное размещение» с кодом demo и областью demo. В нём четыре активных баннера из готовых заготовок: «Форма слева — консультация», «Текст по центру — интерьер», «Текст справа — интерьер» и «Форма справа — подбор ухода». Для них уже настроены телефон, планшет и компьютер. Перед использованием форм настройте отправку и согласие. Можно создавать свои размещения. Повторная установка сохраняет существующие данные и не добавляет или не заменяет демо.
3. В списке баннеров нажмите «Добавить баннер». На странице «Создать баннер» выберите размещение и способ: «Создать из картинки», «Создать с нуля» или готовую заготовку. Заполните содержимое, проверьте активность и период, сохраните и откройте страницу сайта.
4. Модуль не подключает чужие темы или модули Qwelp. Пользовательские доработки размещаются в шаблоне сайта.

## Размещения и показ

Размещение определяет, где и каким способом выводится группа баннеров. Один баннер может иметь отдельные значения для диапазонов ширины.

1. Задайте понятное название и уникальный символьный код. Выберите сайт и область SLOT_CODE, совпадающую с параметром компонента.
2. Укажите область применения: весь сайт, точная страница, раздел или инфоблок. Для раздела настройте наследование в подразделы. При точечном выводе можно указать PLACEMENT_CODE.
3. Во вкладке «Слайдер» выберите режим показа: один баннер, слайдер или несколько баннеров без прокрутки. Для смены слайдов нужны несколько активных баннеров в допустимом периоде. Изображения оптимизируются автоматически; внешний вид задаётся шаблоном компонента.
4. Для вставки в товарную сетку используйте catalog_grid и API интеграции сетки, а не ручное добавление повторных товаров. Координаты строк/колонок и контекст каталога передаёт интеграция сайта.

### Управление слайдером

1. В карточке размещения выберите режим показа «Слайдер» и откройте верхнюю вкладку «Слайдер».
2. В поле «Источник настроек» выберите «Свои настройки размещения». Настройте показ, автопрокрутку, управление и анимацию. Нажмите обычную кнопку «Применить» или «Сохранить» внизу страницы.
3. Настройки применяются ко всем баннерам выбранного размещения. Для каждого размещения они свои. Режим «Параметры компонента» возвращает исходное поведение и значения SLIDER_* из вызова компонента.

| Элемент или вкладка | Что настраивается |
| --- | --- |
| Показ слайдов | Направление, анимация, длительность перехода 0–10000 мс, плавность, число видимых слайдов, шаг переключения, промежуток и отступы в px, начальный слайд с нуля, цикл, высота и центрирование. Дробное число, например 1.5, показывает часть соседнего слайда. |
| Автопрокрутка | Пауза 100–600000 мс, остановка при наведении или после ручного действия, обратное направление и остановка на последнем слайде. При фокусе внутри баннера прокрутка приостанавливается. Системная настройка уменьшения движения отключает автопрокрутку и анимацию. |
| Стрелки и пагинация | Показ стрелок; точки, номер / всего или полоса прогресса; нажатие на точки, динамическая группа точек, перетаскиваемая полоса прокрутки. Оформление и положение стрелок и точек по-прежнему задаются в карточке баннера, включая общие настройки размещения и темы. |
| Жесты и управление | Касания и перетаскивание мышью, клавиатура, колесо мыши, порог и чувствительность, угол жеста, короткие и длинные жесты, сопротивление на краях. Клавиатура управляет слайдером только в видимой области; ввод в поля формы сохраняет своё обычное поведение. |
| Свободная прокрутка и анимации | Свободная прокрутка: инерция, скорость, отскок и привязка к ближайшему слайду. Анимации: сдвиг, растворение, куб, объёмная карусель, переворот, карточки и произвольный сдвиг. У каждого эффекта показаны свои параметры: тени, глубина, поворот, масштаб и другие. |
| Разные размеры экрана | До 12 диапазонов по минимальной ширине окна или области слайдера. В строке задаются видимые слайды, шаг, промежуток и скорость. Пустое значение наследует основные настройки, а не предыдущую строку. Анимация и цикл общие для всех диапазонов. |

### Пример: на телефоне — один баннер, на планшете — два, на компьютере — три

1. В разделе «Показ слайдов» выберите анимацию «Сдвиг», видимых слайдов 1, промежуток 12 px, скорость 600 мс.
2. В разделе «Разные размеры экрана» добавьте строку от 768 px: видимых слайдов 2, промежуток 20 px. Добавьте строку от 1200 px: видимых слайдов 3, промежуток 24 px.
3. Нажмите «Применить» и проверьте результат на сайте при изменении ширины окна. Для одинаковой высоты карточек оставьте автовысоту выключенной; при необходимости задайте фиксированную высоту области.

### Ограничения и подключение

Вертикальному слайдеру нужна высота больше нуля. Автовысота работает по горизонтали без фиксированной высоты. Для нескольких слайдов и свободной прокрутки подходят «Сдвиг» и «Объёмная карусель»; остальные эффекты требуют одного слайда и шага 1, в том числе во всех диапазонах.

Если для бесконечного цикла не хватает баннеров или число баннеров не делится на шаг, включается возврат в начало. Пустые слайды не добавляются. При добавлении достаточного количества баннеров цикл включится автоматически.

Настройки поддерживают стандартные шаблоны hero и .default компонента qwelp:banner.placement и работают, когда отобраны хотя бы два баннера. Статические шаблоны catalog_top и catalog_grid не превращаются в слайдер. Разработчик собственного шаблона получает проверенные настройки в arResult[SLIDER_SETTINGS] и подключает их к своей реализации.

Через поля доступны параметры, поддержанные стандартным шаблоном на Swiper 11.2.10. Обработчики JavaScript, селекторы чужих элементов, история URL, связанные внешние слайдеры и другие программные интеграции задаются разработчиком в собственном шаблоне.

## Редактор и адаптив

Выберите режим: «Одна картинка» для готового изображения со ссылкой, простой — для заполнения содержимого, расширенный — для настройки адаптивности и оформления.

1. Откройте нужный баннер. Сначала заполните базовые тексты, кнопку и изображения, затем выберите диапазон ширины.
2. Укажите фон и переднее изображение. Для отдельных диапазонов загрузите свои файлы или оставьте наследование. Можно подготовить отдельные изображения для тёмной темы.
3. Настройте размеры и положение элементов в пределах выбранного диапазона. Проверьте результат на узком и широком экране; реальный вид зависит от выбранного шаблона компонента.
4. Используйте нижние кнопки «Сохранить», «Применить» или «Сохранить без перезагрузки». Они сохраняют карточку и общие настройки размещения во вкладках основы, точек и стрелок. Перед копированием или показом баннера проверьте активность и период.

### Как создать баннер

Нажмите «Добавить баннер» в списке. В поле «Куда добавить баннер» доступны только уже созданные размещения. Выберите нужное: страница загрузит его настройки. Если размещений нет, нажмите «Создать размещение», сохраните его и вернитесь к созданию баннера. Это требуется для всех способов создания, включая заготовки.

«Создать из картинки» открывает режим «Одна картинка». «Создать с нуля» открывает расширенный редактор для текстов, изображений, кнопок и форм. Ниже находятся «Готовые заготовки» с предпросмотром.

Выбранное размещение передаётся в редактор. Перед включением нового баннера проверьте содержимое, адаптивные версии, активность и период показа.

### Какой режим выбрать

| Элемент или вкладка | Что настраивается |
| --- | --- |
| Одна картинка | Готовое изображение, ссылка, активность и сортировка. Масштабирование и форма баннера выбираются из двух списков; для разных экранов можно загрузить отдельные картинки. |
| Простой режим | Заполнение доступных текстов, ссылок и изображений, активности и сортировки. Состав полей определяется в размещении. Основная версия и диапазоны ширины переключаются вкладками. |
| Расширенный режим | Оформление, группы, адаптивность, светлая и тёмная темы, общая основа, точки и стрелки, настройки формы. |

В «Базовом содержимом» и «Адаптивности» настройки сгруппированы по элементам: бейдж, заголовок, описание, кнопка, изображения. Текст кнопки и её ссылка относятся к одному элементу. Выберите элемент, затем меняйте его содержимое и оформление. Светлая и тёмная темы переключаются отдельными кнопками.

[Как создать и настроить форму баннера](/bitrix/admin/qwelp_banner_editor_documentation.php?lang=ru&tab=forms)

### Простой режим и сортировка

Откройте баннер в простом режиме. В «Свойствах баннера» выберите «Основная версия» или нужный диапазон. Названия и границы диапазонов задаются в размещении. Светлая и тёмная темы переключаются отдельно. Не включайте отдельное значение, если нужно сохранить наследование.

В простом режиме и в режиме «Одна картинка» поле «Размещение» находится над названием баннера. При создании выберите нужное размещение до заполнения формы: смена загрузит его свойства и диапазоны. Если уже введены данные или выбраны файлы, редактор предупредит об их потере. У сохранённого баннера и его копии размещение показано только для чтения; для другого размещения создайте новый баннер.

Поле «Сортировка» доступно в простом режиме, в режиме «Одна картинка» и в расширенном редакторе. Чем меньше число, тем раньше показывается баннер в размещении. Укажите целое число от 0 до 2147483647 и сохраните. Сортировка общая для всех экранов и тем.

### Одна картинка без текста

1. На странице «Создать баннер» выберите существующее размещение и нажмите «Создать из картинки». Для уже созданного баннера выберите «Одна картинка» в верхнем меню. Загрузите основную картинку.
2. Под картинкой выберите «Как показать картинку»: «Целиком» сохраняет всё изображение, «Заполнить с обрезкой» заполняет область и обрезает края, «Растянуть» заполняет её с возможным изменением пропорций. «Форма баннера»: «Как у картинки», «Широкий» (16:9), «Квадратный» (1:1) или «Вертикальный» (3:4).
3. При необходимости раскройте «Картинки для разных экранов», загрузите замены и задайте для них те же два параметра. Диапазоны берутся из размещения; пустые поля картинки используют основной файл, а «Как в основных настройках» наследует масштабирование или форму. «Сохранить текущее» оставляет прежнюю нестандартную настройку. Укажите ссылку при необходимости, активность и сортировку, затем сохраните баннер.

Тексты, группы и формы в этом режиме не выводятся, но их настройки сохраняются. Чтобы вернуть содержимое, откройте простой или расширенный режим и сохраните баннер. Изображение редактирует то же поле, что и фоновая картинка баннера; если такого свойства нет, используется другое доступное свойство изображения.

[Как связать тему баннера с темой сайта](/bitrix/admin/qwelp_banner_editor_documentation.php?lang=ru&tab=theme)

Высота строки настраивается в разделе «Оформление и расположение» каждого текстового элемента, рядом с размером шрифта. Например: 1.4 — в 1,4 раза больше размера шрифта; 24px — фиксированная высота; 140% — в процентах; normal — штатная высота шрифта. Пустое поле не переопределяет стиль. Для нужного диапазона экранов можно задать своё значение.

В блоке «Оформление и расположение → Текст» выберите подчёркивание, зачёркивание, линию сверху или подчёркивание вместе с зачёркиванием. Рядом задайте стиль линии: сплошная, двойная, точечная, пунктирная или волнистая. «Без линии» убирает стандартное подчёркивание кнопки-ссылки. «Не менять» сохраняет оформление макета или базового уровня. Цвет линии совпадает с цветом текста. В адаптивном диапазоне можно задать отдельный вариант. Теги <u> и <s> внутри содержимого по-прежнему оформляют отдельные фрагменты.

Стандартная навигация использует круглые полупрозрачные кнопки с векторными стрелками и мягкой тенью. Точки имеют нейтральный цвет; активный слайд отмечается вытянутым индикатором, в режиме динамических точек — круглым. При наведении и нажатии размеры кнопок остаются постоянными. На телефоне кнопки компактнее; клавиатурный фокус виден. Собственные настройки стрелок и точек сохраняют приоритет.

В расширенном редакторе откройте «Стрелки навигации» → «Свои настройки». Во вкладке «Положение» задайте выравнивание и смещение каждой стрелки: X вправо, Y вниз; отрицательные значения двигают в обратную сторону. «Обычный вид» задаёт подложку и значки, «При наведении» — их цвета, непрозрачность и отдельные изображения для наведения мышью. Пустые поля сохраняют обычный вид. В «Адаптивности» можно переопределить настройки или вернуть стандартные стрелки. Клик мышью не оставляет обводку; клавиатурный фокус остаётся видимым. Сохраните изменения общей кнопкой формы.

Общее оформление стрелок задавайте во вкладке «Стрелки слайдера» любой карточки размещения: обычный вид, положение, наведение и адаптивные диапазоны. Нижние кнопки сохраняют общие стрелки вместе с баннером. Для отдельного баннера можно выбрать «Свои настройки», «Стандартные стрелки» или скрыть стрелки. Чтобы вернуть общий вид, выберите «Настройки размещения» в базовом содержимом и наследование в диапазонах. Ранее выбранные свои настройки сохраняют приоритет. Общие изображения принадлежат размещению и остаются при удалении отдельного баннера.

Во вкладках «Точки слайдера» и «Стрелки слайдера» выберите светлую или тёмную тему. Для тёмной темы по умолчанию используется светлое оформление; выберите свои настройки, чтобы изменить цвета, изображения или положение. Можно задать отдельные адаптивные диапазоны. Сохраните обычными кнопками формы. На сайте навигация переключается вместе с темой через data-qbe-theme; собственное оформление баннера имеет приоритет над общим в обеих темах.

### Общие точки слайдера

1. Откройте любой баннер нужного размещения в расширенном режиме → вкладка «Точки слайдера». Выберите «Свои настройки», задайте положение, размеры, цвета и подложку. При необходимости настройте диапазоны экранов. Нажмите «Сохранить», «Применить» или «Сохранить без перезагрузки» внизу страницы. Общие настройки сохранятся вместе с баннером.
2. Для исключения откройте «Базовое содержимое» → настройки точек этого баннера → «Свои настройки» и сохраните баннер. Его базовое оформление заменяет общие настройки на всех экранах; в «Адаптивности» можно задать свои значения для диапазона.
3. Чтобы снова использовать общие точки, выберите «Настройки размещения» в базовом содержимом, а в диапазонах — «Наследовать», затем сохраните баннер. Остальные размещения не меняются. Точки видны при режиме «Слайдер» и наличии более одного слайда.

### Основа баннера: высота, скругление и отступы

1. Откройте любую карточку размещения → вкладку «Основа баннера» → «Свои настройки». Введите радиус и отступы сверху, справа, снизу и слева. 30 означает 30 px, 0 — квадратные углы или нулевой отступ. Сохраните обычной кнопкой внизу: значения применятся ко всем баннерам размещения.
2. Для отдельного баннера откройте «Базовое содержимое» → «Основа баннера» → «Свои настройки». Здесь задаются высота, скругление, внутренние и внешние отступы. Пустые поля наследуют значения; высота auto подстраивается под содержимое. Заданная высота включает внутренние отступы и переопределяет высоту макета или слайдера. Например, 744 или 744px задаёт высоту 744 пикселя.
3. Для отдельной высоты и отступов откройте «Адаптивность» → нужный диапазон → «Основа баннера». Приоритет каждого поля: свой диапазон → своя база → общий диапазон → общая база → макет. Размеры общие для светлой и тёмной тем. Расстояния и распределение элементов задаются в настройках групп; увеличение высоты баннера не заменяет эти настройки.

### Группы элементов

1. В расширенном режиме откройте «Базовое содержимое» → «Группы элементов». Список «Выберите группу» открывает одну карточку и показывает вложенность. Нажмите «Добавить группу», задайте название и отметьте элементы. Например: бейдж, заголовок, описание и кнопка. Один элемент может входить только в одну группу.
2. Выберите положение по горизонтали и вертикали, ширину группы и отступы от четырёх краёв баннера. Например: справа, по центру, ширина 32rem, отступ справа 40px. Вся группа перемещается вместе; оформление элементов остаётся индивидуальным. Выравнивание содержимого задаёт положение текста, бейджа и кнопки внутри группы: слева, по центру или справа. Положение самой группы на баннере настраивается отдельно.
3. Откройте «Адаптивность» → нужный диапазон → «Группы элементов» и выберите группу в списке. Видны её элементы и подгруппы: нажатие на элемент открывает его оформление в этом диапазоне, на подгруппу — её карточку. Включите «Свои настройки», чтобы менять расположение, размеры, расстояния и выравнивание выбранной группы. Без галочки используются базовые настройки. «Настроить состав группы» открывает эту группу в базовом содержимом; состав, порядок и вложенность общие для всех диапазонов. «Добавить группу» также открывает базовый редактор. Созданные, переименованные и удалённые группы сразу отражаются во всех диапазонах; переключение группы не сбрасывает введённые значения. Группы общие для светлой и тёмной тем.
4. Нажмите «Удалить группу», чтобы вернуть элементы в обычную раскладку, затем сохраните баннер. Сами тексты и кнопка не удаляются. Группы поддерживаются стандартными шаблонами hero и .default; в простом режиме они сохраняются без изменений. Полностью пустая новая группа не мешает сохранению и не сохраняется.

Сортировка свойств размещения задаёт исходный порядок текстовых элементов на сайте: меньшее значение «Сортировка» — раньше, при равенстве используется ID свойства. Стандартные и пользовательские текстовые элементы подчиняются одному порядку. В баннере откройте «Базовое содержимое» → «Группы элементов» → «Порядок на баннере»: «По сортировке размещения» наследует актуальные значения размещения даже после сохранения баннера. Стрелки автоматически включают «Свой порядок баннера»; это переопределение действует только для данного баннера. Для возврата выберите «По сортировке размещения» и сохраните. Внутри каждой группы есть такой же независимый выбор. Группа занимает место первого по сортировке элемента из своего содержимого, включая подгруппы, и перемещается целиком; пустые элементы на сайте пропускаются. Для визуального порядка сверху вниз используется «Последовательно — без наложения». В независимом режиме положение групп по-прежнему определяется их координатами. Порядок общий для адаптивных диапазонов и тем. Ранее сохранённые порядки сохранены как свои: чтобы они снова следовали размещению, переключите соответствующий список на наследование. Это сортировка элементов внутри баннера, а не очередность баннеров в слайдере.

### Редактирование отмеченных баннеров

В списке «Баннеры» отметьте нужные строки флажками и нажмите «Редактировать» в панели действий. Название, активность и сортировку можно изменить сразу у нескольких баннеров, у каждого — на своё значение.

Для изменения дат включите колонки «Начало показа» и «Окончание показа» через настройки таблицы (значок шестерёнки). Укажите даты в редактируемых строках; пустая дата снимает соответствующее ограничение показа.

Нажмите «Сохранить» или «Отменить». При ошибке строка с неверным значением не сохраняется; остальные корректные строки могут быть сохранены. Исправьте отмеченную ошибку и повторите сохранение.

Редактирование доступно при наличии прав на изменение. Размещение, тексты баннера, изображения и оформление меняются в карточке баннера, а не этой командой списка.

### Удаление изображения поверх

Чтобы убрать «Изображение поверх», откройте этот элемент в «Базовом содержимом», отметьте «Удалить изображение» под загрузкой файла и сохраните баннер. Флажок доступен и после загрузки через «Сохранить без перезагрузки». Удаление базового файла влияет на диапазоны, которые его наследуют; отдельно загруженные изображения диапазонов сохраняются. Для скрытия изображения только на определённом экране используйте «Скрыть» в его адаптивном диапазоне.

### Подсказка об оптимизации изображений

Во вкладке «Баннер» расширенного редактора рядом с флажком «Оптимизировать изображения для сайта» есть стандартный значок подсказки Bitrix, как у полей инфоблока. Наведите на него указатель, чтобы прочитать о сохранении оригиналов, WebP и вариантах размеров. Оптимизация влияет на вес файла; видимый размер и положение изображения задаются отдельно.

### Действия в карточке баннера

В правом меню карточки доступны «Добавить баннер в этом размещении» и «Удалить баннер». Добавление открывает выбор способа создания с уже выбранным текущим размещением. Удаление доступно только для сохранённого баннера, требует подтверждения и возвращает к списку этого размещения. Команды доступны при наличии прав на изменение в простом, расширенном режиме и режиме «Одна картинка».

### Оформление элементов и иконки

В расширенном редакторе откройте «Элементы» и выберите нужный элемент. Раздел «Оформление и расположение» объединяет оформление текста, подложку, границы, размеры, отступы и положение. Для отдельного экрана откройте тот же элемент во вкладке «Адаптивность» нужного диапазона.

Скругление подложки настраивается в «Оформление и расположение» → «Подложка», рядом с непрозрачностью. Введите, например, 16px или 50%; доступны px, rem, em и %. Значение 0px делает углы прямыми. Это общий border-radius элемента: он скругляет подложку и видимую границу. Поле перенесено из блока «Граница»; ранее сохранённые значения продолжают действовать. Для отдельного экрана используйте это же поле в оформлении нужного адаптивного диапазона; без своего оформления диапазон наследует базовое. Сохраните баннер обычной кнопкой или без перезагрузки.

Крестик рядом с полем цвета очищает введённое значение и цветной образец. Пустое значение или transparent отображается клетчатым образцом; предыдущий цвет не остаётся в палитре. Новый цвет можно выбрать той же кнопкой. Пустое поле возвращает наследование оформления макета или основного диапазона. Чтобы явно убрать цвет подложки или границы, введите transparent в соответствующее поле. Сохраните изменения обычной кнопкой или без перезагрузки.

В блоке «Размеры, отступы и положение» рядом с шириной есть список: по размеру содержимого, на всю ширину, 75%, две трети, половина, треть, четверть, автоматически или вручную. Для своего размера выберите «Вручную» и введите значение, например 320px или 40%. «По макету» оставляет исходную ширину, а в адаптивном диапазоне «Как в основном оформлении» наследует базовую. «Положение по горизонтали» и «Положение по вертикали» выравнивают сам элемент независимо: слева / по центру / справа и сверху / по центру / снизу. В потоке используется свободное место группы или ячейки, поэтому при отсутствии свободной высоты вертикальное перемещение не видно. Для привязки к краям родителя выберите «Свободно (absolute)». Выравнивание приоритетнее отступов и координат своей оси. «По макету» в основном оформлении отключает переопределение выравнивания; в диапазоне пустой выбор наследует базовую настройку. Для каждого диапазона можно задать свою ширину и выравнивание. У групп эти настройки остаются в основной панели группы.

Текст и иконка кнопки по умолчанию выравниваются по центру внутри неё, в том числе при заданной высоте. Чтобы изменить это, откройте «Оформление и расположение» кнопки, выберите «Своё оформление» и в блоке «Содержимое кнопки» задайте горизонтальное и вертикальное выравнивание независимо. Для центра относительно всей кнопки внутренние отступы слева и справа, а также сверху и снизу должны быть одинаковыми. Новые настройки управляют содержимым; «Положение по горизонтали» и «Положение по вертикали» в блоке размеров перемещают саму кнопку. В адаптивном диапазоне пустые значения наследуют основное оформление, а явный выбор переопределяет соответствующую ось. Сохраните баннер обычной кнопкой или без перезагрузки.

У элемента «Кнопка» откройте «Иконка кнопки»: загрузите файл, выберите положение слева или справа от текста, отступ от текста, ширину и высоту. В адаптивности можно отдельно заменить или скрыть иконку и переопределить только нужные параметры. Неотмеченные параметры наследуют базу. Один заданный размер сохраняет пропорции изображения по другой стороне. Положение, отступ от текста, ширина и высота собраны в компактную строку и переносятся при недостатке места. Кнопка загрузки не растягивается на ширину блока; длинное имя выбранного файла сокращается многоточием. Такая же компоновка используется в адаптивных диапазонах.

Иконки вариантов списка настраиваются в размещении → «Свойства» → варианты нужного списка. Для варианта задаются положение слева, справа, сверху или снизу, расстояние до текста, ширина и высота; в «На разных экранах» — переопределения для диапазонов. Эти настройки варианта действуют во всех баннерах размещения.

У «Изображения поверх» раздел «Размеры и положение изображения» объединяет ширину, высоту, ограничения размеров, масштаб и выравнивание. Масштаб 100% сохраняет заданные размеры, 25% уменьшает их в четыре раза. Флажок «Учитывать внутренние отступы баннера» выбирает привязку внутри отступов; без него выравнивание идёт от краёв баннера.

### Готовые баннеры

На странице «Создать баннер» раздел «Готовые заготовки» содержит шесть разных компоновок: текст слева, по центру или справа и форма слева, по центру или справа. Предпросмотр использует стандартный шаблон hero и позволяет переключить компьютер, планшет, телефон либо указать ширину 320–1600 px. Макеты содержат отдельные редактируемые настройки для телефона и планшета; тексты не встроены в изображения.

Выберите существующее совместимое размещение. Заготовка создаёт только баннер в выбранном размещении; новое размещение здесь не создаётся. У размещения должны быть стандартные поля и отдельные диапазоны телефона и планшета. Несовместимость показывается в галерее без изменения размещения. Заготовки рассчитаны на стандартный вывод hero/.default; пользовательский шаблон компонента должен поддерживать настройки модуля.

«Использовать заготовку» создаёт неактивный баннер. Тексты, изображения, стили и адаптивность затем редактируются обычными средствами. Файлы копируются в собственность нового баннера. Связь с почтовым событием и получатель формы из образцов не переносятся: настройте отправку и согласие перед включением баннера. Встроенная библиотека не зависит от записей демо и их идентификаторов. Быстрое копирование существующего образца размещения остаётся доступным.

Каждая заготовка решает отдельную задачу компоновки; одинаковых макетов с разными фотографиями в каталоге нет. Варианты с текстом используют кнопку, варианты с формой — поля имени, email и согласие. Содержимое и оформление можно менять в редакторе. Для формы по центру используется новый фотографический фон с подарками; для формы справа — косметика слева без декоративной арки. На планшете фотография остаётся фоном рядом с текстом или формой, без отдельного большого блока снизу. На телефоне изображение плавно проявляется в нижней части общего фона; отступы сохраняют читаемость содержимого. Размеры и выравнивание настроены отдельно для каждого диапазона. Всё сохраняется штатными настройками редактора, включая группы и собственный CSS. Изменение библиотеки не перезаписывает уже созданные баннеры. В новых размещениях подключается локальный шрифт Onest; настройки шрифтов существующего размещения сохраняются. Изображения, шрифт и лицензия включены в модуль; внешние сайты для загрузки новых ресурсов не требуются.

Если «Метка» настроена как список, заготовка использует код существующего варианта: сначала точное совпадение кода или названия метки, иначе первый вариант списка. Варианты, их иконки и настройки размещения не изменяются. После создания метку можно изменить в карточке баннера.

Дополнительные композиции: изображение слева и текст справа (интерьер, аудио); текст по центру и предметы по краям (интерьер, уход). На телефоне и планшете фотография располагается под текстом. Прежние заготовки сохраняют своё оформление.

## Подключение компонента

Стандартные шаблоны: hero (также шаблон по умолчанию), catalog_top и catalog_grid. Пример содержит только значения, которые визуальный редактор Bitrix может сохранить.

1. Добавьте компонент qwelp:banner.placement на нужную страницу. Укажите SLOT_CODE либо точный PLACEMENT_CODE.
2. SITE_ID и SITE_DIRECTORY можно оставить пустыми: они вычисляются на текущем сайте. PAGE_PATH по умолчанию берётся из текущей страницы.
3. IBLOCK_ID, SECTION_ID и SECTION_PATH_IDS задают контекст каталога. BANNER_ID ограничивает вывод конкретным баннером. Не заменяйте динамический контекст выражениями внутри массива параметров, управляемого визуальным редактором.
4. PRIORITY=Y предназначен для первого видимого изображения. Управление слайдером: SLIDER_AUTOPLAY, SLIDER_AUTOPLAY_DELAY_MS (2000–60000), SLIDER_TRANSITION_SPEED_MS (100–3000), SLIDER_PAUSE_ON_HOVER, SLIDER_SHOW_ARROWS, SLIDER_SHOW_PAGINATION.
5. После размещения сохраните параметры без изменений, затем измените допустимый параметр и сохраните снова. Проверьте обычный режим и режим правки.

Параметры SLIDER_* ниже действуют, когда у размещения выбран источник «Параметры компонента». «Свои настройки размещения» имеют приоритет для всех его баннеров. Подробная инструкция — в разделе «Размещения и показ».

[Как связать тему баннера с темой сайта](/bitrix/admin/qwelp_banner_editor_documentation.php?lang=ru&tab=theme)

| Параметр | Назначение | По умолчанию |
| --- | --- | --- |
| `SLOT_CODE` | Код области вывода | `homepage.hero` |
| `PLACEMENT_CODE` | Точный код размещения (необязательно) | `` |
| `IBLOCK_ID` | ID инфоблока | `0` |
| `SECTION_ID` | ID текущего раздела | `0` |
| `SECTION_PATH_IDS` | Цепочка ID разделов через запятую | `` |
| `PRIORITY` | Приоритетная загрузка первого изображения | `N` |
| `SITE_ID` | Сайт (пусто — текущий) | `` |
| `SITE_DIRECTORY` | Каталог сайта (пусто — текущий) | `` |
| `PAGE_PATH` | Путь страницы (пусто — текущий) | `` |
| `BANNER_ID` | Точный ID баннера (0 — автоматически) | `0` |
| `SLIDER_AUTOPLAY` | Автоматическая смена баннеров | `Y` |
| `SLIDER_AUTOPLAY_DELAY_MS` | Интервал смены, мс (2000–60000) | `6000` |
| `SLIDER_TRANSITION_SPEED_MS` | Длительность перехода, мс (100–3000) | `600` |
| `SLIDER_PAUSE_ON_HOVER` | Пауза при наведении | `Y` |
| `SLIDER_SHOW_ARROWS` | Показывать стрелки | `Y` |
| `SLIDER_SHOW_PAGINATION` | Показывать переключатели | `Y` |
| `CACHE_TIME` | Время кеширования, секунд | `36000000` |

### Подробнее

Пример подключения

```php
$APPLICATION->IncludeComponent('qwelp:banner.placement', 'hero', [
    'SLOT_CODE' => 'demo',
    'PLACEMENT_CODE' => 'demo',
    'PRIORITY' => 'Y',
    'SLIDER_AUTOPLAY' => 'Y',
    'SLIDER_AUTOPLAY_DELAY_MS' => '6000',
    'CACHE_TYPE' => 'A',
    'CACHE_TIME' => '3600',
]);
```

## Светлая и тёмная тема

Вкладки «Светлая тема» и «Тёмная тема» в редакторе настраивают варианты баннера. На сайте нужный вариант выбирается отдельно: автоматически по теме браузера или явно через атрибут data-qbe-theme.

1. Откройте расширенный режим → «Базовое содержимое» и выберите тему. «Светлый текст» задаёт белый цвет по умолчанию, «Тёмный текст» — тёмный. Собственный цвет в визуальном оформлении элемента имеет приоритет. Чтобы элемент снова использовал общую схему, очистите его поле «Цвет текста», в том числе в настроенных адаптивных диапазонах. Во вкладке «Адаптивность» можно задать отдельную схему для нужного экрана. Сохраните баннер.
2. Для всех баннеров добавьте data-qbe-theme к существующему тегу <html> или <body> в header.php своего шаблона сайта. Значение dark включает тёмный вариант, light — светлый, auto — тему браузера. Без атрибута также работает auto.
3. Если на сайте есть переключатель темы, при его инициализации и каждом переключении передавайте актуальный выбор в data-qbe-theme. Модуль сам обновит изображения и схему текста без перезагрузки страницы.

Поддержка встроена в стандартные шаблоны компонента qwelp:banner.placement: hero, шаблон по умолчанию, catalog_top и catalog_grid. В каталожных шаблонах меняются изображения; в hero — также схема текста.

| Значение | Что увидит посетитель |
| --- | --- |
| `dark` | Тёмный вариант независимо от темы браузера. |
| `light` | Светлый вариант независимо от темы браузера. |
| `auto` | Вариант по prefers-color-scheme браузера. Изменение системной темы учитывается, пока страница открыта. |

### Одна тема для всех баннеров

В файле /local/templates/<ваш_шаблон>/header.php добавьте атрибут к уже существующему открывающему тегу. Для светлой темы замените dark на light. Для автоматического выбора укажите auto или уберите атрибут.

```html
<html data-qbe-theme="dark">
```

### Связь с переключателем темы сайта

Добавьте функцию в JavaScript своего шаблона. Вместо демонстрационного вызова setBannerTheme('dark') вызывайте её из своего обработчика смены темы с аргументом light, dark или auto. При загрузке страницы передайте сохранённую тему сайта тем же способом.

```javascript
function setBannerTheme(theme) {
    if (['light', 'dark', 'auto'].includes(theme)) {
        document.documentElement.setAttribute('data-qbe-theme', theme);
    }
}

setBannerTheme('dark');
```

Модуль не читает произвольные классы, cookies и localStorage вашего шаблона. Например, изменение одного data-bs-theme или класса dark само по себе не передаёт тему баннеру. Сохранение выбора посетителя остаётся на стороне сайта.

### Отдельная тема для одного размещения

Оберните существующий вызов компонента в контейнер с атрибутом. Ниже — готовый пример; замените SLOT_CODE и PLACEMENT_CODE своими значениями. Ближайший к баннеру data-qbe-theme имеет приоритет над атрибутом страницы. Локальный auto возвращает этому размещению тему браузера.

```php
<div data-qbe-theme="dark">
    <?php
    $APPLICATION->IncludeComponent('qwelp:banner.placement', 'hero', [
        'SLOT_CODE' => 'demo',
        'PLACEMENT_CODE' => 'demo',
        'CACHE_TYPE' => 'A',
        'CACHE_TIME' => '3600',
    ]);
    ?>
</div>
```

### Изображения, кеш и свои шаблоны

Если тёмное изображение не задано, используется соответствующее светлое. Переключение темы сохраняет выбор изображений по ширине экрана. Явные цвета отдельных элементов могут перекрывать общую схему текста.

При установке обновления очистите кеш компонента и Композит, чтобы страница получила новые ресурсы. Для последующих переключений темы очистка кеша не нужна. Начальное состояние страницы задавайте из механизма темы сайта; не записывайте выбор отдельного посетителя в общий закешированный PHP-фрагмент баннера.

Если компонент перекрыт копией в /local/components/ или шаблоном в /local/templates/, проверьте, что эта копия содержит поддержку data-qbe-theme. Обновление модуля не перезаписывает пользовательские шаблоны.

### Как проверить подключение

По очереди вызовите setBannerTheme('dark'), setBannerTheme('light') и setBannerTheme('auto'). В первых двух случаях баннер должен следовать выбору сайта, даже если тема браузера противоположная. В auto смените тему браузера, затем проверьте узкий экран и баннер, загруженный через AJAX или Композит.

## Формы и заявки

Создайте форму в размещении, выберите её для баннера и настройте элементы. У каждого баннера может быть своя форма, тексты и оформление.

1. Размещение → «Формы» → «Добавить форму»: задайте название, соберите элементы и сохраните размещение.
2. В карточке баннера откройте «Баннер» → «Форма баннера», выберите форму и перейдите во вкладку «Форма». Настройте её и сохраните обычной кнопкой внизу.
3. Настройте почту, отправьте пробную заявку на своём сайте и откройте её в разделе «Заявки с форм». Подробные действия приведены ниже.

### Создать и выбрать форму

1. Название формы в размещении служит для выбора в админке. Надпись, которую увидит посетитель, добавляется отдельным элементом «Заголовок», например «Оставьте контакты».
2. Для разных баннеров можно создать несколько форм. Нажимайте «Добавить форму», задавайте понятные названия и сохраняйте размещение. В одной карточке баннера одновременно выбирается одна форма.
3. При первом подключении состав элементов, оформление и сообщение после отправки копируются в баннер. Дальше каждый баннер редактируется отдельно: изменения формы в размещении не заменяют уже сохранённые индивидуальные настройки.
4. Выбор «Без формы» отключает показ и скрывает вкладку «Форма», сохраняя настройки. «Выбрать другую форму» доступно, когда есть несколько форм. В режиме «Одна картинка» форма на сайте не выводится.

### Элементы и порядок

| Элемент или вкладка | Что настраивается |
| --- | --- |
| Заголовок | Публичное название или подзаголовок формы. Заполните «Текст элемента». |
| Текст | Описание, пояснение или дополнительный текст. Можно добавить несколько таких элементов и расположить их между полями. |
| Поле ввода | Строка, Email, Телефон или Многострочный текст. Значение посетителя попадёт в заявку. |
| Кнопка отправки | Одна кнопка на форму. Её надпись задаётся в «Текст элемента»; положение в порядке элементов можно менять. |
| Согласие | Один элемент согласия с текстом, ссылкой и настройкой обязательности. Его можно разместить до или после кнопки. |

Выберите тип и нажмите «Добавить элемент». Во вкладках выбирайте нужный элемент; «Выше» и «Ниже» меняют порядок, «Удалить элемент» убирает его. Для включённой формы нужны хотя бы одно поле ввода и кнопка с непустой надписью. Максимум — 32 элемента, из них до 20 полей ввода.

### Поле ввода: текст, подпись и плейсхолдер

| Элемент или вкладка | Что настраивается |
| --- | --- |
| Содержимое | Подпись и текст плейсхолдера, тип поля, уникальный код, число символов, автозаполнение и иконка. Здесь же включаются обязательность и показ подписи. |
| Оформление элемента | Общий блок элемента: шрифт, цвет, подложка, внутренние отступы и граница. |
| Подпись поля | Оформление текста над полем, например «Ваше имя». Сам текст подписи меняется в «Содержимом». |
| Поле ввода | Оформление самого инпута и вводимого текста: шрифт, фон, отступы, скругление и граница. |
| Плейсхолдер | Сверху заполните «Текст плейсхолдера», например «Как к вам обращаться?». Ниже настройте его шрифт, высоту строки, цвет и оформление линии. Текст синхронизируется со вкладкой «Содержимое». |

Плейсхолдер — подсказка внутри пустого поля; он не записывается вместо ответа посетителя. Очистите текст, чтобы убрать подсказку. «Сбросить оформление» сбрасывает только оформление выбранной части и сохраняет текст. Коды полей в одной форме должны различаться.

### Согласие со ссылкой

1. Добавьте или выберите «Согласие» и заполните «Текст элемента». Отметьте «Обязательно для отправки», если посетитель должен подтвердить согласие перед отправкой.
2. Заполните текст и адрес ссылки, например «правилами обработки данных» и /privacy/. Укажите адрес реального документа своего сайта.
3. Поставьте курсор в нужное место и нажмите «Вставить ссылку в текст». Маркер [link] заменится ссылкой: «Согласен с [link].». Без маркера ссылка добавляется после текста.

### Сообщение после отправки

1. Под конструктором заполните «Сообщение после отправки». Например: «Спасибо! Мы получили вашу заявку. Скоро свяжемся с вами». Можно использовать переносы строк; допустимо до 1000 символов.
2. В размещении задаётся начальный ответ для новых подключений формы. Чтобы изменить ответ уже настроенного баннера, откройте его вкладку «Форма» и отредактируйте это поле там.
3. После успешной отправки ответ появляется отдельным блоком с галочкой, фоном и отступами. До отправки блок не занимает место. Успешный ответ означает сохранение заявки; доставку письма проверяйте отдельно.

### Оформление и расположение формы

1. У каждого элемента в «Содержимом» задаются выравнивание слева, по центру или справа, ширина и отступ после элемента. В «Оформлении элемента» настраиваются текст, подложка, четыре внутренних отступа и граница.
2. Пустое поле оформления оставляет значение макета. Размеры принимают px, rem, em или %; цвета — HEX, а для подложки и границы доступен transparent. Подпись, ввод и плейсхолдер оформляются отдельно.
3. В карточке баннера вкладка «Форма» также содержит ширину, общее оформление и положение всей формы. В «На разных экранах» задайте отличия для диапазонов ширины; без переопределения используются базовые настройки.

### Почтовое событие и шаблон

1. В баннере на вкладке «Форма» раскройте «Отправка и сообщение об успехе», укажите получателя и тему письма. Сохраните настройки обычной кнопкой внизу страницы.
2. Вернитесь в размещение → «Формы». Под нужной формой, в блоке «Отправка формы по почте», найдите сохранённый баннер и нажмите «Создать событие и шаблон». Для каждой формы баннера создаётся своя пара.
3. После создания доступны ссылки редактирования события и шаблона. Повторная проверка не перезаписывает изменённый шаблон. Отправьте пробную заявку и проверьте письмо у получателя и состояние «Отправка письма» в заявке.

### Открыть заявку подробно

1. Откройте Квэлп → Редактор баннеров → «Заявки с форм» и нажмите номер заявки или действие «Подробнее». Краткий столбец «Контакт» в списке не заменяет полную карточку.
2. В карточке проверьте «Заполненные поля»: имя, email и другие переданные значения. Здесь же видны баннер, размещение, страница, подтверждение согласия и сведения о почтовой отправке.
3. После обработки выберите статус «Обработана» или «Закрыта» и нажмите «Сохранить». «Удалить заявку» удаляет запись с подтверждением. Настройте доступ к заявкам для нужных сотрудников.

### Звёздочка обязательного поля

В редакторе формы откройте «Содержимое формы», выберите обязательное поле и часть «Звёздочка (*)». Цвет, шрифт, размеры, отступы, фон, границы и состояния знака настраиваются отдельно от подписи. Можно использовать общее оформление или индивидуальные настройки и переопределения по диапазонам.

Пустые правила наследуют оформление подписи. Изменение внешнего вида звёздочки не меняет обязательность поля. Сохраните изменения обычной кнопкой страницы.

## Свой шаблон сайта

Универсальный модуль остаётся самостоятельным. Особенности оформления и поведения конкретного сайта принадлежат его шаблону.

1. Скопируйте нужный шаблон компонента из /bitrix/components/qwelp/banner.placement/templates/ в /local/templates/<шаблон_сайта>/components/qwelp/banner.placement/<имя>/.
2. Выберите это имя в параметрах компонента. В своей копии подключайте собственные CSS/JS и явные адаптеры сайта; не изменяйте lib и установочные файлы универсального модуля.
3. Соблюдайте публичный формат ITEMS, CONTEXT и PLACEMENT. Проверяйте несколько экземпляров, адаптив, формы, клавиатуру и повторную инициализацию после AJAX/Композита.
4. После обновления модуля сравните изменения стандартного шаблона со своей копией. Установщик не перезаписывает клиентские local-переопределения.

## Кеш, права и обслуживание

Кеш учитывает сайт, контекст и параметры компонента. При изменении баннеров модуль обновляет кеш компонента и затронутые страницы Композита. Если область изменений нельзя определить надёжно, используется полный сброс Композита.

1. Права модуля: запрет, чтение, изменение. Ограничьте изменение баннеров и просмотр заявок подходящими группами пользователей.
2. Проверьте Композит включён/выключен и кеш компонента включён/выключен, повторный ответ и AJAX-замену. Формы получают необходимые данные сессии во время действия.
3. Общие файлы устанавливаются в /bitrix/components, /bitrix/admin и /bitrix/images/qwelp.bannereditor. Второй сайт использует общий bitrix; его local может быть независимым или отсутствовать.
4. Дорелизные local-копии сохраняются как переопределения и не удаляются автоматически. Если старая local-копия скрывает новую bitrix-копию, сравните её содержимое и управляйте ею как частью сайта.
5. При удалении явно выберите сохранение или удаление данных. Сохранённые данные предназначены для повторной установки. Перед удалением сделайте штатную резервную копию и проверьте завершение операции.

После обновления удаление распознаёт файлы, совпадающие с текущей поставкой модуля, даже если при установке была сохранена предыдущая версия. Файлы с другими изменениями не удаляются: операция останавливается для их проверки. Пользовательские копии в /local/ сохраняются. Не удаляйте запись модуля или служебный список файлов вручную для обхода ошибки.

## Проверка и помощь

Проверяйте реальный результат на своём сайте после установки, обновления и изменения шаблона.

1. Нет баннера: проверьте активность, период, сайт, SLOT_CODE/PLACEMENT_CODE и контекст раздела. Проверьте, не перекрывает ли компонент local-копия.
2. Нет изображения или стилей: проверьте HTTP-ответ файла, права чтения, сохранённый путь и установленные ресурсы компонента.
3. Нет вкладки «Форма»: сначала создайте форму в размещении и выберите её в баннере. Нет новой фразы или плейсхолдера: проверьте сохранённые настройки именно этого баннера. Заявка сохранена, но письма нет: откройте полную заявку и проверьте почтовую отправку.
4. Перед обращением в поддержку подготовьте версию модуля, PHP/Bitrix, шаги повторения и обезличенный текст ошибки. Актуальные каналы и регламент поддержки указаны в карточке Marketplace.

### Общее оформление и состояния элементов

Выберите элемент и его часть: общий блок, подпись, поле ввода, плейсхолдер или флажок. Настройки разделены на текст, фон и рамку, размеры и отступы, эффекты. Доступны тени, непрозрачность и время перехода.

Флажок «Общее оформление» применяет оформление выбранного элемента ко всей группе внутри этой формы, включая новые элементы. Текстовые поля, email, телефон и многострочный текст образуют одну группу; списки, чекбоксы с согласием, кнопки, заголовки и текстовые блоки — отдельные группы. Отключение сохраняет копию текущего оформления для независимого редактирования элемента. Тексты и значения полей не копируются.

В «Экране» выбирается базовое оформление или диапазон размещения. В «Состоянии» — обычное, наведение, фокус, нажатие, а для подходящих элементов — отмечено и отключено. Для общего блока доступны ::before и ::after. Пустые свойства наследуются, «Сбросить это состояние» очищает только выбранную часть, экран и состояние.

В «Свой CSS» вводятся объявления без селекторов и фигурных скобок, например `background: #6655cc; box-shadow: 0 4px 12px rgba(0,0,0,.15);`. CSS применяется только к выбранной форме, части, экрану и состоянию. Для псевдоэлемента задайте `content`. До 2000 байт на правило; общий размер настроек формы — до 128 КиБ. Сохраняйте обычной кнопкой страницы.

### Иконки флажка

У элемента «Согласие» или поля типа «Чекбокс» откройте вкладку «Флажок» → «Свои иконки флажка». Загрузите отдельные изображения для отмеченного и неотмеченного состояния: SVG, PNG, JPG, WebP или AVIF. Для состояния без изображения остаётся стандартный флажок.

Ширина и высота задаются в пикселях (1–512), отдельно для базового размера и каждого диапазона экранов размещения. Пустые адаптивные значения наследуют базовые; без заданного размера используется 20×20 px. Обе картинки занимают одинаковое место, поэтому нажатие не меняет размер флажка. Иконки и их размеры относятся к выбранному элементу и не копируются переключателем общего оформления группы. Сохраняются обычными кнопками страницы, в том числе без перезагрузки.

### Техническая поддержка Qwelp

Электронная почта: qwelp@mail.ru. Форма обращения: https://qwelp.ru/#contact.

Время работы: понедельник–пятница, 10:00–18:00 по московскому времени, кроме официальных выходных и праздничных дней.
Срок первого ответа: до двух рабочих дней. Срок решения зависит от сложности обращения.

В обращении укажите код модуля qwelp.bannereditor, его версию, версию PHP и 1С-Битрикс, адрес сайта, описание проблемы и шаги для воспроизведения. По возможности приложите скриншот и текст ошибки без паролей и персональных данных.

Поддержка включает консультации по установке и штатным возможностям модуля, разбор воспроизводимых ошибок и выпуск исправлений. Индивидуальная доработка, интеграция в сторонние шаблоны и настройка серверного окружения согласовываются отдельно.

### Пользовательское соглашение

Пользовательское соглашение на использование модуля «Квэлп: Редактор баннеров» (qwelp.bannereditor).

1. Модуль предоставляется разработчиком Qwelp на условиях простой (неисключительной) лицензии. Данные правообладателя указываются в карточке разработчика и документах приобретения лицензии. Установка и использование модуля означают принятие настоящих условий.

2. Пользователь вправе устанавливать и использовать модуль в пределах приобретённой лицензии и условий Marketplace 1С-Битрикс, создавать резервные копии и адаптировать его для собственного сайта.

3. Запрещаются распространение и перепродажа модуля или его копий без согласия правообладателя, передача лицензии с нарушением условий её приобретения, удаление сведений об авторских правах.

4. Для работы необходима действующая установка совместимого продукта «1С-Битрикс: Управление сайтом». Пользователь отвечает за резервное копирование, доступы сотрудников, содержание баннеров и права на используемые материалы и законность обработки персональных данных.

5. Техническая поддержка и обновления предоставляются в рамках условий приобретённой лицензии и описания поддержки в карточке решения. Индивидуальные доработки и услуги внедрения согласовываются отдельно.

6. Ответственность сторон определяется применимым законодательством и условиями лицензии. Ничто в настоящем соглашении не ограничивает обязательные права пользователя, предусмотренные законом.

7. Обращения по лицензированию и использованию модуля: qwelp@mail.ru; https://qwelp.ru/#contact.
