Меню и структура сайта в Битрикс: пошаговая настройка
За 20–30 минут вы создадите в «1С-Битрикс: Управление сайтом» разделы, верхнее меню и подпункты услуг. В каждом шаге есть проверка результата и готовые файлы меню.

За 20–30 минут вы соберёте в «1С-Битрикс: Управление сайтом» структуру из пяти страниц-разделов, верхнее меню и подпункты для раздела услуг. Понадобятся админка, два небольших файла меню и один вызов компонента в шаблоне. Инструкция написана для версий 23.x–24.x.
Что нужно до начала
- «1С-Битрикс: Управление сайтом» 23.x–24.x, любая редакция. В других версиях названия пунктов админки могут отличаться, а формат файлов меню остаётся тем же.
- Учётная запись администратора и доступ в /bitrix/admin/.
- Резервная копия сайта или хотя бы копия файла header.php вашего шаблона. Опечатка в PHP-файле даёт белый экран на всём сайте.
- Шаблон сайта с подключённым компонентом bitrix:menu. В типовых шаблонах он уже есть.
- Для шага 6: доступ к файлам шаблона по FTP или через файловый менеджер админки.
Устройство укладывается в две фразы. Раздел сайта — это папка с файлом index.php. Меню — PHP-файл вида .тип.menu.php внутри папки: .top.menu.php для верхнего, .left.menu.php для левого. Если в текущей папке файла меню нет, Битрикс ищет его в ближайшей родительской.
Меню в Битрикс лежит в файлах, а не в базе данных. Поэтому при переносе сайта его нужно копировать вместе с папками, а при деплое из Git правки из админки могут быть затёрты.
План: что куда вписать
Имена папок пишите латиницей и в нижнем регистре. На Linux-хостингах about и About — разные папки.
| Раздел | Имя папки | Ссылка в меню | В каком файле меню |
|---|---|---|---|
| О компании | about | /about/ | /.top.menu.php |
| Услуги | services | /services/ | /.top.menu.php |
| Контакты | contacts | /contacts/ | /.top.menu.php |
| Разработка сайтов | services/web | /services/web/ | /services/.left.menu.php |
| Поддержка | services/support | /services/support/ | /services/.left.menu.php |
Пошаговая инструкция
- Создайте папки. Откройте Контент → Структура сайта → Файлы и папки, перейдите в корень сайта и создайте about, services и contacts. Внутри services создайте web и support. Проверка: в корне видны три новые папки, а в services — две вложенные.
- Добавьте в каждую папку страницу index.php. Создайте файл и вставьте код из подраздела «Страница раздела» ниже, поменяв заголовок. Без index.php адрес раздела отдаст ошибку 404. Проверка: адрес https://ваш-сайт/about/ открывается и показывает текст страницы.
- Задайте названия разделов. В контекстном меню папки выберите свойства папки и впишите название раздела. Его подхватывают хлебные крошки. Проверка: при повторном открытии свойств название на месте.
- Создайте верхнее меню. В корне сайта добавьте меню типа «Верхнее меню» (top) и внесите три пункта из таблицы. Название кнопки создания меню зависит от версии. Если не нашли её, создайте файл .top.menu.php вручную по коду ниже. Проверка: меню открывается на редактирование и в нём три пункта.
- Создайте подменю услуг. В папке services добавьте файл .left.menu.php с двумя пунктами из таблицы. Именно из него верхнее меню возьмёт выпадающие подпункты. Проверка: файл открывается и в нём «Разработка сайтов» и «Поддержка».
- Подключите компонент в шаблоне. Откройте header.php в /local/templates/ИМЯ_ШАБЛОНА/ или /bitrix/templates/ИМЯ_ШАБЛОНА/ и вставьте вызов из подраздела ниже. Если меню на сайте уже выводится, проверьте только, что в вашем вызове ROOT_MENU_TYPE равен top. Проверка: вверху страницы появились три пункта.
- Сбросьте кеш и пройдите по ссылкам. Очистить кеш можно в Настройки → Производительность → Автокеширование (название может отличаться в вашей версии). Проверка: каждый пункт ведёт на открывающуюся страницу, у «Услуг» раскрываются два подпункта.
Готовые файлы
Страница раздела: index.php
<?php
require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/header.php');
$APPLICATION->SetTitle('О компании');
?>
<p>Текст страницы раздела.</p>
<?php require($_SERVER['DOCUMENT_ROOT'] . '/bitrix/footer.php'); ?>
Верхнее меню: /.top.menu.php
<?php
// Пункт: название, ссылка, доп. ссылки для подсветки, параметры, условие показа
$aMenuLinks = Array(
Array('О компании', '/about/', Array(), Array(), ''),
Array('Услуги', '/services/', Array(), Array(), ''),
Array('Контакты', '/contacts/', Array(), Array(), ''),
);
Левое меню услуг: /services/.left.menu.php
<?php
$aMenuLinks = Array(
Array('Разработка сайтов', '/services/web/', Array(), Array(), ''),
Array('Поддержка', '/services/support/', Array(), Array(), ''),
);
Вызов компонента в header.php
Имя шаблона horizontal_multilevel есть среди типовых шаблонов компонента. Если в вашем шаблоне его нет, выберите другой в настройках компонента.
<?php
$APPLICATION->IncludeComponent(
'bitrix:menu',
'horizontal_multilevel',
Array(
'ROOT_MENU_TYPE' => 'top',
'MAX_LEVEL' => '2',
'CHILD_MENU_TYPE' => 'left',
'USE_EXT' => 'N',
'DELAY' => 'N',
'ALLOW_MULTI_SELECT' => 'N',
'MENU_CACHE_TYPE' => 'N',
'MENU_CACHE_TIME' => '3600',
'MENU_CACHE_USE_GROUPS' => 'Y',
'MENU_CACHE_GET_VARS' => Array()
)
);
?>
Компонент — готовый блок кода Битрикс с набором параметров. Он выводит на странице меню, новости или каталог. За внешний вид отвечает его шаблон — набор файлов в папке шаблона сайта.
Если не получилось
- Белый экран или Parse error: syntax error после правки меню. В файле потерялась запятая, скобка или кавычка. Верните файл из копии или сверьте его с кодом выше.
- Пункт меню ведёт на стандартную страницу 404. В папке раздела нет index.php, или адрес в меню отличается от имени папки регистром или слешем.
- Меню не появилось на сайте. Вызов компонента не добавлен в header.php, или сайту назначен другой шаблон. Проверьте шаблон в настройках сайта.
- Подпункты не раскрываются. Проверьте, что MAX_LEVEL не равен 1, CHILD_MENU_TYPE равен left, а файл называется именно .left.menu.php и лежит в папке, на которую ведёт пункт.
- Правки не видны. Сбросьте кеш. Если сайт держит код в Git, проверьте, не перезаписал ли деплой файлы меню.
Что делать дальше
Подключите хлебные крошки: компонент bitrix:breadcrumb использует названия разделов, которые вы задали на шаге 3. Если разделов станет много, храните копии файлов .menu.php в репозитории, чтобы не терять правки при переносе. Через неделю загляните в отчёты Яндекс Вебмастера или Google Search Console и проверьте, нет ли битых ссылок из меню. Меню из инфоблока и подключаемые файлы расширения — отдельная тема, здесь они не разбираются.
Проверка рекламы на риски: Что в макете вызовет вопросы ФАС: превосходные степени, сравнения, обещания результата, маркировка.
Спросить за 40 ₽Источники: 1С-Битрикс: документация для разработчиков, 1С-Битрикс: пользовательская документация
Частые вопросы
Чем верхнее меню отличается от левого?
Что делать, если у меня другая версия Битрикс?
Меню не обновилось после правки. Что проверить?
Можно ли править меню прямо на боевом сайте?
Как поменять порядок пунктов?
Как подсветить пункт меню на вложенных страницах?
Материал носит информационный характер и подготовлен редакцией «Агентуры». Он не является офертой, рекламой или индивидуальной консультацией. Упомянутые продукты, компании и торговые знаки принадлежат их правообладателям. Перед принятием решений, влекущих юридические или финансовые последствия, обратитесь к профильному специалисту.