Горизонтальне меню в 1с-бітрікс

Горизонтальне меню в 1с-бітрікс

Очевидно, що нам потрібно використовувати свій шаблон «horizontal_multilevel», для цього скопіюємо папку www \ bitrix \ components \ bitrix \ menu \ templates \ horizontal_multilevel

Позначимо, що це наш шаблон, змінимо назву з «horizontal_multilevel» на «my_horizontal_multilevel». Таким чином, ми створили свій власний шаблон. Підключити його ми можемо вже зараз, використовуючи у виклику компонента замість horizontal_multilevel - my_horizontal_multilevel. Але це не дасть, ніяких візуальних змін, все також буде виводитися величезне червоне меню.

Тепер наша основна задача - відредагувати шаблон компонента my_horizontal_multilevel таким чином, поки зовнішнє відображення компонента не буде схоже на меню шаблону прототипу. Це і називається інтегрувати компонент.

І так по порядку, як це роблю я:

  1. Зайдіть в директорію www \ bitrix \ templates \ імя_шаблона \ components \ bitrix \ menu \ my_horizontal_multilevel \ images. очистіть директорію. Скопіюйте зображення з www \ bitrix \ templates \ test \ images відносяться до меню в дану папку. Таким чином, ми відокремимо зображення меню від шаблону сайту, тепер вони відносяться тільки до шаблону компонента (якщо меню задається колірними кодами, то зображень відносяться до меню може і не бути).
  2. Далі відділимо від шаблону всі стилі пов'язані з меню. Для цього заходимо в стиль шаблону сайту (www \ bitrix \ templates \ test \ template_styles.css) і вирізаємо всі стилі пов'язані з горизонтальним меню. Відкриваємо файл стилів шаблону компонента (www \ bitrix \ templates \ імя_шаблона \ components \ bitrix \ menu \ my_horizontal_multilevel \ style.css), все видаляємо і вставляємо вирізані стилі.
  3. Тепер необхідно правити шаблон компонента, тобто файл www \ bitrix \ templates \ імя_шаблона \ components \ bitrix \ menu \ my_horizontal_multilevel \ template.php. Даний момент детально я висвітлювати не буду, ви повинні підправити шаблон самі, все залежить від вашого рівня знань html, php і розуміння суті того, що відбувається. Додам тільки пару слів, видаліть з шаблону все що вам навряд чи знадобитися. Якщо вас цікавить що отримує шаблон в масиві $ arResult від свого контролера, відкрийте його www \ bitrix \ components \ bitrix \ menu \ component.php і вивчіть, але правити його не варто. Так в нашому випадку це і не потрібно, нам достатньо редагувати шаблон компонента.Урезав все зайве, у мене вийшло наступне:

Думаю, знайдуться люди, яких введе в оману наступна конструкція