Доработка сайта · Bitrix / Aspro Max
Доработка блока брендов на главной: попап поверх логотипа
Исправили позицию всплывающего окна со ссылками каталога и выяснили, почему у части брендов попап оставался пустым — без правок ядра Bitrix.
-
2 чобъём работ
-
2зоны правок
-
0правок ядра
-
зоомагазин, блок брендов
Проблема
На главной зоомагазина блок логотипов брендов при наведении открывает окно со ссылками на разделы каталога (сухой/влажный корм, ветдиеты и т.д. для собак и кошек). Клиент попросил: окно должно появляться поверх логотипа, а не над ним. Дополнительно у части брендов попап не заполнялся.
Попап уезжал вверх (bottom: 120px), у части брендов окно пустое
Центр поверх логотипа + зафиксирована причина пустых окон
Задачи
Блок — кастомный шаблон bitrix:news.list (front_brands_list_customed). Контент попапа собирается на фронте из карты amx.
Ограничения
Точечная правка кастомного шаблона компонента — без затрагивания ядра.
Как делали
PHP (result_modifier.php) формирует карту разделов 3-го уровня; JS сопоставляет alt картинки бренда с ключами amx и рисует ссылки.
Позиционирование
top: 50% + translate(-50%, -50%) вместо bottom: 120px
Якорь ячейки
position: relative у родителя бренда
Пустые попапы
Нет совпадения имени с ключами amx (пробелы, регистр, написание)
Зафиксировали риски
«Загрузить ещё» — обработчики не перевешиваются на новые элементы
Результат
Попап открывается поверх логотипа — UX предсказуемее. Пустые окна — не «сломанный» hover, а несовпадение названий и логика сопоставления. Дальше по желанию: нормализация имён в JS и поддержка AJAX-подгрузки.
| Попап над логотипом (bottom: 120px) | Центр поверх ячейки |
|---|---|
| «Hover сломан» | Несовпадение имён с ключами amx |
| Только десктоп-ячейки | Зафиксирован риск «Загрузить ещё» |
| Правки ядра Aspro | Только кастомный шаблон news.list |
FAQ
Почему попап «уезжал» вверх?
В CSS стояло position: absolute и bottom: 120px — окно якорилось снизу ячейки и визуально оказывалось над логотипом.
Почему у части брендов попап пустой?
Нет совпадения alt бренда с ключами карты amx (пробелы, регистр, разное написание) или нет подходящих разделов с товарами. Это данные/сопоставление, а не сломанный hover.
Что делать с кнопкой «Загрузить ещё»?
Обработчики и наполнение вешаются на document.ready один раз. Для AJAX-брендов нужна повторная инициализация после подгрузки.
Затрагивается ли ядро Bitrix / Aspro Max?
Нет. Правки в CSS/JS кастомного шаблона news.list — ядро не трогаем.
Получить оценку доработки
Пришлите ссылку на сайт и список задач — вернём оценку по часам и план этапов.
Запросить смету