
В интерфейсе Битрикс каждый элемент меню формируется через массив $arMenu, где хранятся название пункта, ссылка и права доступа. Удаление подпункта требует точного указания его позиции, иначе структура меню нарушится и ссылки станут некорректными.
Первый шаг – определить файл, в котором создается меню. Обычно это /bitrix/templates/ваш_шаблон/header.php или отдельный файл .menu.php в папке компонента. Важно заранее сделать резервную копию файла перед внесением изменений.
Следующий шаг – найти массив $arMenu, содержащий подпункты. Каждый подпункт оформлен как массив с ключами «TEXT», «LINK» и «PERMISSION». Для удаления конкретного подпункта достаточно использовать unset() с индексом элемента массива, либо создать фильтр, исключающий нужный пункт по значению «TEXT».
После изменения массива требуется очистить кеш сайта через административную панель: раздел Настройки → Производительность → Очистка кеша. Без этого подпункт может продолжать отображаться на страницах, даже если код изменен.
Тестирование изменений нужно проводить в разных браузерах и для пользователей с различными правами доступа, чтобы убедиться, что удаление не нарушило навигацию и отображение меню. Этот подход гарантирует корректную работу как для администраторов, так и для обычных пользователей.
Удаление подпункта меню в Битрикс: пошаговое руководство
Для удаления подпункта меню в Битрикс потребуется доступ к файловой структуре сайта и правам на редактирование компонентов.
1. Определите файл меню. Откройте директорию /bitrix/templates/ваш_шаблон/components/bitrix/menu/ и найдите используемый шаблон меню (обычно .php файлы в папке template_name).
2. Откройте файл .menu.php соответствующего уровня меню. Внутри него находится массив $aMenuLinks:
| Пример записи массива | Описание |
|---|---|
["Каталог", "/catalog/", [], [], ""] |
Название пункта, ссылка, дополнительные параметры, условия доступа, CSS-класс |
3. Найдите подпункт, который необходимо удалить. Подпункты находятся внутри родительского элемента, обычно в виде вложенного массива.
4. Удалите строку с нужным подпунктом или закомментируйте её с помощью //.
5. Сохраните изменения и обновите кеш сайта через админку: Настройки → Производительность → Очистить кеш или сочетанием Ctrl+Shift+R в браузере для фронтенда.
6. Проверьте корректность меню на сайте. Убедитесь, что удаленный пункт больше не отображается и ссылки других элементов работают корректно.
7. При использовании многоуровневого меню повторите процедуру для каждого уровня, где присутствует ненужный подпункт.
8. Резервное копирование. Перед редактированием .menu.php создайте копию файла, чтобы можно было восстановить структуру при ошибках.
Проверка структуры меню перед удалением подпункта

Откройте файл меню, который обычно находится в /bitrix/templates/ваш_шаблон/. В Битриксе это может быть меню.php или .menu.php. Убедитесь, что вы работаете с правильным типом меню: top, left или footer.
Проверьте индексы массива. Важно определить точное положение подпункта, который планируется удалить, чтобы не нарушить порядок соседних элементов. Обратите внимание на вложенные массивы – они обозначают подменю.
Если меню формируется через административный интерфейс, экспортируйте его в файл. Сравните массив с файлом шаблона, чтобы убедиться, что нет дублирующихся ссылок или идентификаторов.
Проверьте использование условных операторов в массиве меню. Некоторые подпункты могут отображаться только для определённых групп пользователей или при определённых параметрах страницы.
Сделайте резервную копию массива $aMenuLinks перед удалением. Это позволит быстро восстановить структуру в случае ошибки.
После анализа структуры убедитесь, что удаляемый подпункт не влияет на цепочку навигации. Проверьте наличие ссылок на него в других меню или компонентах сайта.
Определение файла, отвечающего за нужное меню
В Битрикс структура меню формируется через PHP-файлы, расположенные в директориях компонентов или шаблонов сайта. Для точного определения файла выполняйте следующие шаги:
-
Перейдите в административной панели в раздел «Настройки» → «Настройки продукта» → «Меню». Здесь отображаются все существующие меню и их уровни.
-
Определите тип меню. В стандартной структуре Битрикс используются файлы с именами
.left.menu.php,.top.menu.phpили.bottom.menu.php. Название файла соответствует позиции меню на сайте. -
Проверьте директорию шаблона сайта:
/bitrix/templates/ВАШ_ШАБЛОН/. Если меню кастомизировано, нужный файл будет находиться в подпапкеcomponents/bitrix/menu/или напрямую в корне шаблона. -
Используйте поиск по проекту. Ищите ключевые ссылки или заголовки пунктов меню в коде:
grep -R "Название подпункта" /путь/к/проекту/. Это позволяет найти точный PHP-файл, который формирует меню. -
Проверяйте подключение файлов через
requireилиIncludeComponent. Меню может быть подключено как отдельный компонент:$APPLICATION->IncludeComponent("bitrix:menu", ...), что указывает на конкретный путь к файлу конфигурации. -
После нахождения файла убедитесь, что это именно файл текущей страницы и уровня меню, чтобы не редактировать глобальные меню на других разделах сайта.
Следуя этим шагам, можно точно определить PHP-файл, который отвечает за отображение нужного меню или подпункта, без риска повлиять на остальные элементы сайта.
Создание резервной копии меню для безопасного редактирования
Перед удалением подпункта меню в Битрикс необходимо создать резервную копию файла меню. Стандартные файлы расположены в директории /bitrix/templates/ваш_шаблон/components/bitrix/menu/ и имеют название .menu.php или .top.menu.php.
Скопируйте файл меню в отдельную папку за пределами шаблона, например, /backup_menu/, сохранив оригинальное имя. Это позволит быстро восстановить структуру при ошибках.
Для дополнительной безопасности создайте текстовый архив с текущей датой: top.menu_2025-09-05.php. Используйте встроенные инструменты ОС или команду zip top.menu_2025-09-05.zip top.menu.php.
Перед сохранением изменений в файле убедитесь, что копия успешно открывается в редакторе и содержит полный массив элементов меню. Любые пропуски или повреждения в резервной копии приведут к некорректной работе навигации.
При работе с многосайтовой конфигурацией создавайте резервные копии для каждого сайта отдельно. Файлы меню разных сайтов могут находиться в отдельных каталогах: /bitrix/templates/шаблон_сайта_1/, /bitrix/templates/шаблон_сайта_2/.
Резервное копирование позволяет безопасно вносить изменения: удалять подпункты, менять ссылки или переименовывать пункты, минимизируя риск полной потери меню или сбоев на сайте.
Редактирование массива $aMenu для удаления подпункта
В Битрикс структура меню формируется массивом $aMenu, где каждый элемент представляет отдельный пункт или подпункт. Для удаления подпункта необходимо работать с ключами массива и правильно определить индекс удаляемого элемента.
Пример структуры массива:
$aMenu = [
["Главная", "/index.php", [], [], ""],
["Каталог", "/catalog/", [], [], ""],
["Контакты", "/contacts/", [], [], ""],
["Сервисы", "/services/", [
["Услуга 1", "/services/service1/", [], [], ""],
["Услуга 2", "/services/service2/", [], [], ""]
], [], ""]
];
Для удаления подпункта «Услуга 2» необходимо использовать функцию unset() с точным индексом подпункта:
foreach ($aMenu as $key => $item) {
if ($item[0] === "Сервисы") {
foreach ($item[2] as $subKey => $subItem) {
if ($subItem[0] === "Услуга 2") {
unset($aMenu[$key][2][$subKey]);
}
}
}
}
После удаления важно пересчитать индексы вложенного массива, чтобы избежать пропусков:
$aMenu[$key][2] = array_values($aMenu[$key][2]);
Рекомендации при редактировании массива:
- Всегда делайте резервную копию
$aMenuперед изменением. - Для сложных меню используйте функции обхода
foreachвместо прямых индексов. - Удаление происходит только по точному совпадению названия или URL, проверяйте регистр символов.
- После редактирования проверяйте работу меню в административной панели и на фронтенде.
Метод редактирования массива напрямую обеспечивает контроль над структурой меню и позволяет удалять подпункты без изменения файлов компонентов Битрикс.
Удаление элемента через визуальный редактор Битрикс

Откройте страницу сайта в режиме редактирования. В верхней панели выберите «Визуальный редактор». Все элементы меню отображаются в виде кликабельных блоков.
Найдите элемент меню, который необходимо удалить. Наведите курсор на блок, справа появится значок «шестеренка» для редактирования. Нажмите на него и выберите «Удалить элемент».
После выбора удаления система покажет окно подтверждения. Убедитесь, что вы выбрали правильный пункт, и нажмите «Да». Элемент будет удален без изменения других пунктов меню.
Для проверки откройте страницу в обычном режиме. Обновите кэш сайта через Настройки → Производительность → Очистка кэша, чтобы изменения вступили в силу для всех пользователей.
Если меню связано с компонентом menu, убедитесь, что удаление элемента не нарушает структуру остальных пунктов. Визуальный редактор автоматически обновляет файлы шаблона, поэтому ручная правка кода не требуется.
Проверка доступа и прав на изменение меню
Перед удалением подпункта меню в Битрикс необходимо убедиться, что у пользователя есть соответствующие права. Для этого откройте Панель управления и перейдите в раздел Настройки > Настройки продукта > Права доступа.
Проверьте роль пользователя или группы, которой принадлежит учетная запись. Для изменения структуры меню требуется право Администрирование меню. Без него любые попытки редактирования приведут к ошибкам.
Для конкретного меню проверьте его файл конфигурации: /bitrix/php_interface/include/menu/.default.php или аналогичный для кастомного меню. Убедитесь, что для ключевых элементов установлены корректные параметры PERMISSIONS. Значения должны соответствовать вашей роли: R – чтение, W – запись, D – запрещено.
Если права установлены корректно, перейдите к проверке фактического доступа через интерфейс. В административном разделе меню выберите пункт Изменить и убедитесь, что кнопка Удалить активна. Если она неактивна, пересмотрите роль пользователя или настройку PERMISSIONS.
Для группового контроля создайте отдельную группу с ограничением на изменение других элементов сайта, оставив права только на нужное меню. Это предотвратит случайное удаление элементов, не связанных с задачей.
Очистка кеша для отображения изменений
После удаления подпункта меню в Битрикс изменения могут не отображаться из-за кеша системы. Для корректного обновления интерфейса необходимо выполнить несколько действий.
1. Очистка кеша через административную панель:
| Действие | Путь | Примечание |
|---|---|---|
| Очистка кеша компонентов | Настройки → Инструменты → Очистка кеша | Выбирайте «Компоненты», чтобы обновить меню и другие элементы интерфейса |
| Очистка кеша всего сайта | Настройки → Инструменты → Очистка кеша → Все типы | Используется при глобальных изменениях структуры меню или шаблонов |
2. Очистка кеша файловой системы:
| Директория | Команда | Описание |
|---|---|---|
| /bitrix/cache/ | rm -rf /bitrix/cache/* | Удаляет кеш компонентов и шаблонов |
| /bitrix/managed_cache/ | rm -rf /bitrix/managed_cache/* | Обновляет данные, хранящиеся в управляемом кешировании |
| /bitrix/html_pages/ | rm -rf /bitrix/html_pages/* | Удаляет кеш статических страниц, включая меню |
3. Дополнительно рекомендуется очистить кеш браузера, чтобы убедиться, что изменения отображаются корректно на клиентской стороне. После выполнения этих шагов подпункт меню будет полностью удален из интерфейса.
Тестирование работы меню после удаления подпункта

После удаления подпункта важно проверить корректность работы всего меню. Тестирование следует выполнять в несколько этапов, чтобы исключить возможные ошибки навигации и отображения.
-
Проверка фронтенда:
- Откройте страницу, где расположено измененное меню.
- Убедитесь, что удаленный подпункт больше не отображается.
- Проверьте все уровни вложенности: родительский пункт не должен оставлять пустое пространство.
-
Проверка ссылок:
- Пройдитесь по всем оставшимся пунктам меню и убедитесь, что ссылки ведут на корректные страницы.
- Проверьте, что ранее удаленный URL не доступен через меню.
-
Тестирование мобильной версии:
- Откройте меню на мобильных устройствах или в режиме эмуляции браузера.
- Убедитесь, что скрытый подпункт не отображается в выпадающем списке.
- Проверьте функциональность свайпов и кликов по родительским пунктам.
-
Тестирование административной панели:
- Перейдите в раздел меню в админке Битрикс.
- Проверьте, что удаленный подпункт отсутствует в списке элементов.
- Убедитесь, что сохранение изменений не вызывает ошибок и кеш меню обновился.
-
Проверка кеширования:
- Очистите кеш сайта и браузера.
- Перезагрузите страницы с меню, чтобы убедиться, что удаление подпункта вступило в силу для всех пользователей.
Регулярное проведение этих проверок минимизирует риск появления «мертвых ссылок» и нарушений навигации после изменений в меню.
Вопрос-ответ:
Как удалить конкретный подпункт меню через административную панель Битрикс?
Для удаления подпункта меню нужно открыть раздел «Структура сайта» в административной панели, выбрать нужный раздел, после чего найти меню, в котором находится подпункт. Наведите курсор на нужный элемент и нажмите кнопку удаления. Система запросит подтверждение операции, после чего подпункт будет удален.
Можно ли восстановить удаленный подпункт меню, если случайно удалил его?
Если подпункт был удален через административную панель, стандартной кнопки «Отменить» нет. Восстановление возможно через резервную копию сайта или через резервное копирование конкретного файла меню, если оно было сохранено. Рекомендуется перед удалением создавать резервные копии файлов меню и структуры сайта.
Какие файлы отвечают за подпункты меню в шаблоне Битрикс?
В Битрикс подпункты меню обычно хранятся в файлах с названием .menu.php в корневой папке сайта или в папках компонентов. Каждый массив в этом файле описывает пункт меню: его название, ссылку, условия видимости и порядок отображения. Для удаления подпункта можно напрямую отредактировать этот массив, удалив соответствующий элемент.
Удаление подпункта меню влияет на права пользователей?
Да, косвенно. Если подпункт меню ведет к разделу, доступ к которому ограничен определенными группами пользователей, после удаления подпункта пользователи все равно смогут попасть в раздел через прямую ссылку. Меню влияет только на визуальное отображение элементов, а не на системные права доступа.
Что делать, если подпункт меню не удаляется через интерфейс Битрикс?
Если удаление через административную панель не срабатывает, возможно, меню генерируется компонентом или жестко задано в шаблоне. В таком случае нужно открыть соответствующий .menu.php файл в редакторе и вручную удалить запись о подпункте. После этого рекомендуется очистить кеш сайта через административную панель, чтобы изменения вступили в силу.
Как удалить подпункт меню в Битрикс без потери других элементов?
Для удаления подпункта меню в Битрикс нужно открыть административную панель и перейти в раздел «Меню». Найдите нужное меню, затем выберите подпункт, который требуется убрать. После этого нажмите на кнопку «Удалить» рядом с названием подпункта. Система предложит подтвердить действие — согласитесь с удалением. Остальные элементы меню при этом останутся без изменений. После удаления рекомендуется проверить работу сайта на предмет корректного отображения меню.
Можно ли восстановить удалённый подпункт меню, если ошибка была замечена поздно?
Если подпункт был удалён, восстановить его напрямую из интерфейса невозможно, если не использовалась функция резервного копирования. Однако есть несколько способов вернуть его. Первый способ — восстановить сайт из резервной копии, созданной до удаления подпункта. Второй — вручную создать новый подпункт с теми же параметрами, что и удалённый. При этом важно точно указать ссылку, текст и доступность для групп пользователей, чтобы меню снова работало корректно.
