Найти тему

Интеграция html-верстки в Битрикс: на примере главного меню

Меню Битрикс
Меню Битрикс

Иногда (а если быть честным довольно часто) возникает необходимость кастомизировать родной шаблон компонента Битрикс. В данном уроке мы научимся интегрировать верстку на примере главного меню.

Создаем тестовую страницу в рамках нашего проекта:

Тесовая страница bitrix
Тесовая страница bitrix

Прописываем заголовок для страницы, имя файла и убираем галку "Добавить пункт меню":

Параметры тестовой страницы
Параметры тестовой страницы

Отлично! Страница создана. Теперь выбираем пункт "Изменить страницу":

Изменение страницы
Изменение страницы

Удаляем текст установленный системой по умолчанию и выбираем компонент "Меню":

Компонент меню для страницы
Компонент меню для страницы

В параметрах компонента выставляем нужные значения и нажимаем "Сохранить":

Параметры компонента меню
Параметры компонента меню

Вот что в итоге должно у нас получиться:

Верхнее меню битрикс
Верхнее меню битрикс

Как можно заметить нижнее меню сильно отличается от того, которое у нас есть в шаблоне, однако беспокоиться не стоит. Следующий шаг - это копирование шаблона компонента в папку с нашим шаблоном. Масло масляное, но именно так и нужно сделать)

Копирование делается вот так:

Копирование шаблона компонента
Копирование шаблона компонента

Выставляем нужные параметры и сохраняем изменения:

Копирование шаблона компонента
Копирование шаблона компонента

Возможно Вы зададитесь вопросом: "А для чего вообще необходимо копировать исходный шаблон компонента?" Ответ очень простой: это нужно для того чтобы при очередном обновлении платформы все внесенные в него ранее изменения не удалились.

Папку с шаблоном меню можно будет найти по адресу: папка localtemplates→папка с названием вашего шаблона→components→bitrixmenu:

Шаблон компонента
Шаблон компонента

Теперь двойным щелчком открываем файл template.php:

Файл template.php
Файл template.php

Т.о. перед Вами откроется файл с исходным кодом шаблона:

Исходный код шаблона компонента
Исходный код шаблона компонента

Здесь нужно будет немного отступить вниз и в свободное место поместить верстку для будущего меню (в моем случае это весь код заключенный в <div> с классом "menu popup-block"):

Верстка в шаблоне компонента
Верстка в шаблоне компонента

Внимательно изучим имеющийся у нас код, основное внимание нужно заострить на этих моментах:

Верстка в шаблоне компонента
Верстка в шаблоне компонента
Верстка в шаблоне компонента
Верстка в шаблоне компонента

Т.е. вверху у нас есть <div> с определенным классом, тег <ul> также содержит класс, но без какого-либо значения, далее идет тег <li> с классом "mane-page". В самом низу верстки мы имеем ссылку и закрывающий тег </div>. Все остальные элементы списка не имеют никаких классов. Отлично, теперь нам остается только перенести все эти моменты в наш шаблон. Начнем с тегов <div>, <ul>, <li> и <a>, вот что должно получиться:

Кастомизация шаблона
Кастомизация шаблона
Кастомизация шаблона (продолжение)
Кастомизация шаблона (продолжение)

И в завершение всего нужно будет убрать все лишнее в тегах <li>:

Кастомизация шаблона (продолжение)
Кастомизация шаблона (продолжение)

После этого удалите всю ранее скопированную верстку и сохраните файл (можно воспользоваться комбинацией клавиш ctrl+s):

Кастомизированный шаблон компонента меню
Кастомизированный шаблон компонента меню

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

Код вызова шаблона компонента
Код вызова шаблона компонента

Вставляем его в хедере именно там где он необходим:

Код вызова внедренный в верстку
Код вызова внедренный в верстку

Сохраняем изменения и смотрим что получилось:

Верхнее меню сайта
Верхнее меню сайта

Все отлично, мы получили рабочее меню, которое точь-в-точь совпадаем по дизайну с тем что было у нас изначально.

Ссылка на экзаменационные билеты и материалы для подготовки (там как раз есть шаблон сайта представленный выше).

Также Вас может заинтересовать:

#менюбитрикс #главноеменю #интеграцияверстки #шаблонкомпонента

Спасибо за внимание!

Остались вопросы? Что-то не получилось? Пишите в комментариях. Вместе мы сможем со всем разобраться)

Если статья оказалась полезной предлагаю подписаться на канал.