В 1С-Битрикс меню сайта хранится в служебных файлах вида .left.menu.php, .top.menu.php и редактируется как через визуальный интерфейс публичной части, так и через административный раздел. Разберём, как добавить новый пункт быстро и без ошибок.
Где хранится меню и как оно устроено
В 1С-Битрикс меню — это обычный PHP-файл особого формата, лежащий в папке раздела. Имя файла состоит из типа меню и суффикса .menu.php, например:
.top.menu.php— верхнее (горизонтальное) меню;.left.menu.php— левое меню раздела;.bottom.menu.php— нижнее меню (футер).
Компонент bitrix:menu в шаблоне сайта считывает эти файлы и выводит пункты. Поэтому чтобы добавить строку в меню, шаблон трогать не нужно — достаточно отредактировать соответствующий файл меню в нужном разделе структуры.
Каждый пункт меню — это как минимум название и ссылка (URL). Дополнительно у пункта могут быть параметры сортировки, условия показа и произвольные свойства.
Добавление пункта через публичную часть
Это самый быстрый способ. Работайте под учётной записью с правами администратора или контент-менеджера при включённой административной панели сверху.
- Откройте в браузере страницу раздела, в меню которого нужно добавить пункт.
- Переключитесь в режим «Правка» кнопкой в правом верхнем углу административной панели.
- Наведите курсор на область меню — появится всплывающая кнопка управления компонентом меню.
- Нажмите «Изменить меню» (или «Добавить пункт меню»).
- В открывшемся окне заполните название пункта и ссылку. Ссылку удобно указывать относительной:
/about/contacts/. - Сохраните изменения — пункт сразу появится на странице.
Ссылка может вести на страницу внутри сайта, на раздел или на внешний адрес (полный https://…).
Добавление и правка через административный раздел
Когда нужен полный контроль над файлом меню, используйте административный раздел.
- Перейдите в Контент → Структура сайта → Файлы и папки.
- Откройте папку нужного раздела и найдите файл меню, например
.left.menu.php. Если файла нет — меню в этом разделе ещё не создано. - В контекстном меню файла выберите «Изменить меню» — откроется табличный редактор пунктов.
- Нажмите «Добавить пункт», впишите название и ссылку.
- При необходимости задайте сортировку, дополнительные условия показа и свойства пункта.
- Нажмите «Сохранить».
Через админку также можно редактировать сам PHP-файл в текстовом режиме, но для типовых задач достаточно визуального редактора пунктов.
Порядок пунктов и вложенность
Порядок вывода пунктов определяется их последовательностью в файле меню. В визуальном редакторе строки можно перетаскивать или менять местами стрелками — это меняет порядок в массиве меню.
Уровень вложенности задаётся числом у пункта: пункты первого уровня видны всегда, вложенные — обычно раскрываются при переходе в родительский раздел (зависит от шаблона меню). Ниже — типовые параметры пункта.
| Параметр | Назначение |
|---|---|
| Название | Текст ссылки, который видит пользователь |
| Ссылка (URL) | Адрес перехода, относительный или абсолютный |
| Уровень | Глубина вложенности (0 — верхний уровень) |
| Условие показа | PHP-условие, при котором пункт отображается |
| Доп. свойства | Произвольные параметры для шаблона меню |
Помните: правильная работа вложенности зависит от того, поддерживает ли шаблон меню (тип отображения) многоуровневый вывод.
Активный пункт и подсветка текущего раздела
Битрикс автоматически подсвечивает пункт, чья ссылка совпадает с текущим URL. Чтобы подсветка работала корректно:
- указывайте ссылку ровно так, как формируется адрес раздела, включая завершающий слэш:
/catalog/, а не/catalog; - для раздела ссылка обычно ведёт на его индексный файл (
/catalog/index.php=/catalog/); - если используется ЧПУ, проверяйте, что ссылка совпадает с человекопонятным адресом, а не с внутренним
?ID=….
Логику определения активного пункта задаёт шаблон компонента bitrix:menu: он сравнивает URL пунктов с адресом текущей страницы.
Частые ошибки
- Пункт добавлен не в тот раздел. Файл меню лежит в конкретной папке — отредактировали меню в корне, а ждёте появления во вложенном разделе. Проверьте путь к файлу меню.
- Не тот тип меню. Добавили в
.left.menu.php, а в шаблоне в этом месте выводится верхнее меню. Тип файла должен совпадать с типом меню, который выводит компонент. - Пункт не подсвечивается как активный. Обычно причина — расхождение в слэше или в ЧПУ между ссылкой пункта и реальным URL.
- Изменения не видны из-за кэша. Сбросьте кэш компонентов: Настройки → Настройки продукта → Автокэширование или очистите кэш через панель.
- Пропали пункты после ручной правки файла. Меню чувствительно к синтаксису массива
$aMenuLinks: лишняя запятая или кавычка ломает вывод. Правьте лучше через визуальный редактор.
Итог
Чтобы добавить пункт в меню сайта на 1С-Битрикс, определите тип меню и раздел, затем отредактируйте соответствующий файл меню — быстрее всего через режим правки в публичной части, надёжнее для сложных случаев через Контент → Структура сайта.
Ключевые моменты: правильный файл в правильной папке, аккуратные ссылки с учётом слэшей и ЧПУ, корректная сортировка и сброс кэша после изменений. Тогда новый пункт появится ровно там, где нужно, и будет корректно подсвечиваться.