@iAlex195

Как убрать вложенность одного пункта меню?

Добрый день!
Есть многоуровневое меню, нужно у одного пункта убрать вложенность.
  • Вопрос задан
  • 261 просмотр
Пригласить эксперта
Ответы на вопрос 1
winer
@winer
занимаюсь разработкой сайтов на 1c-bitrix
Тут зависит от того как сформировано меню.
  1. Выводится с помощью компонента bitrix:menu:
    • Нужный пункт меню хранится в файлах *.menu.php:
      Редактируем меню с помощью встроенного редактора. Нужно редактировать в "Расширенном режиме".
      5cda84f5b7333233553709.png
      Для нужного пункта меню создаем параметр, например DISABLE_CHILD
      5cda854f6ddaf811878789.png
      В шаблоне компонента bitrix:menu делаем проверку этого параметра
      $arItem["PARAMS"]["DISABLE_CHILD"] == "Y"


    • Нужный пункт меню сформирован в файле *.menu_ext.php:
      Читаем код файла *.menu_ext.php и находим где формируется этот пункт меню. Там надо добавить в массив пункта меню параметр как выше.
      Как пример пункт меню может формироваться из разделов ИБ в компоненте bitrix::menu.sections. Тогда копируем компонент в свое пространство имен -> в component.php нового компонента добавляем код, который будет задавать такой параметр из USER_FIELD свойства раздела. ->
      Дальше выполняем такую же проверку как в прошлом пункте.


  2. Выводится с помощью bitrix:catalog.section:
    У раздела создаем USER_FIELD свойство, в шаблоне компонента выполняем проверку на его наличие.

  3. Выводится с помощью чего нибудь кастомного:
    читаем код, ищем что есть этот пункт меню. Чаще всего это разделы ИБ (редко элементы ИБ). Добавляем USER_FIELD свойства для раздела или же обычное свойство для элемента ИБ. А уже потом как до этого проверяем их значения в шаблоне компонента

Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы