Как вручную добавить подпункт в меню Битрикс
Разработка сайтов на 1С-Битрикс
+7 (391) 234-64-80

Как вручную добавить подпункт в меню Битрикс

В этой статье (заметке) речь пойдет о ручном добавлении подпунктов в меню Битрикс и позволит открыть глаза на формирование массива $aMenuLinks для тех, кто еще испытывает в этом трудности.

Основные настройки

Допустим у нас есть раздел с названием "Услуги", в этом разделе мы хотим создать два подраздела и сделать соответственно два подпункта. Для этого необходимо создать файл .тип_меню.menu.php, в нашем случае это будет файл .left.menu.php, в данном файле за формирование меню отвечает массив $aMenuLinks, вот массив для нашего примера:

	

    $aMenuLinks = array(
        Array(
            "Создание сайтов",
            "/services/create-sites/",
            Array(),
            Array(),
            ""
        ),
        Array(
            "Виды услуг",
            "/services/optimization/",
            Array(),
            Array(),
            ""
        )
    )

	

Добавление типов меню в административной интерфейсе и прочие стандартные моменты дублировать не имеет смысла, так как об этом подробно рассказывается в учебном курсе Битрикса.

И вот встает задача добавить в раздел "Создание сайтов" раздел "Создание Landing Page" и соответственно вывести этот подпункт у раздела родителя.

Структура массива $aMenuLinks с подпунктами

Подпункты в массиве должны идти строго по порядку после родительского пункта меню

	

    $aMenuLinks = array(
        // Родительский пункт меню
        Array(
            "Создание сайтов",
            "/services/create-sites/",
            Array("/services/create-sites/"),
            Array(
                "FROM_IBLOCK" => 1,
                // Пункт является родительским
                "IS_PARENT" => 1,
                // Уровень вложенности 1
                "DEPTH_LEVEL" => 1
            ),
            ""
        ),
        // Дочерний подпункт
        Array(
            "Создание Landing Page",
            "/services/create-sites/landing-page/",
            Array("/services/create-sites/landing-page/"),
            Array(
                "FROM_IBLOCK" => 1,
                // Пункт не является родительским
                "IS_PARENT" => 0,
                // Уровень вложенности 2
                "DEPTH_LEVEL" => 2
            ),
            ""
        ),
        Array(
            "Виды услуг",
            "/services/optimization/",
            Array(),
            Array(),
            ""
        )
    )

	

Таким образом, передавая дополнительные параметры мы можем создавать неограниченное количество подпунктов и организовать любую структуру меню, не обязательно даже копирующую реальные директории на сервере.

Не забывайте выставить параметр уровня вложенности в настройках компонента


Возврат к списку


Перезвоните мне
Оставьте Ваши контактные данные, мы свяжемся с Вами в ближайшее время
Я согласен на обработку персональных данных
Личный кабинет
Запомнить меня
Забыли свой пароль?
Я согласен на обработку персональных данных.