Задать вопрос
makc9I
@makc9I
фрилансер, web разработчик

Как создать подменю в Bitrix?

Вопрос кажется банальным, но в моем случае не все так просто. Или я просто мало информирован об этой системе.
Насколько я знаю, в битриксе меню формируется согласно структуре каталогов в файловой системе, создаешь подраздел на конкретной странице, ставишь галочку создать меню, и он появляется в выпадающем списке.
Но вот что на сайте у меня:
Так выглядит выпадающее меню:
f2a81-clip-301kb.jpg?nocache=1
А так выглядит структура каталогов:
05ba5-clip-67kb.png?nocache=1
Т.е. меню формируется совсем не из структуры каталогов, а как он тогда формируется?
Мне нужно сделать банальную вещь, создать подпункт меню О компании и назвать его сертификаты, но у меня не получается это сделать. В структуре вообще и "услуги" и "акции" и "оплата" находятся внутри "о компании", но меню то формируется как то иначе.
  • Вопрос задан
  • 16858 просмотров
Подписаться 3 Оценить Комментировать
Решения вопроса 1
4k4
@4k4
Насколько я знаю, в битриксе меню формируется согласно структуре каталогов в файловой системе, создаешь подраздел на конкретной странице, ставишь галочку создать меню, и он появляется в выпадающем списке.
но можно и самому добавить, руками.

В документации есть подробное описание и примеры по работе с меню.

В простом случае меню можно править через админку (или файл нужного типа меню .*.menu.php в корне сайта).
В более сложном (если используется "многоуровневое" меню) - через штатные средства или файл .*.menu.php в корне сайта и файлы .*.menu.php в подпапках.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
@vaajnur
битриксоид
в битрикс можно создать подменю, не совпадающее со структурой разделов, добавив
$aMenuLinks = Array(
	Array(
		"пункт 1", 
		"/link1/", 
		Array("/link1/"), 
		Array(
			"FROM_IBLOCK" => 1,
			"IS_PARENT" => 1,
			"DEPTH_LEVEL" => 1
		)
	),
	Array(
		"подпункт 1", 
		"/sublink1/", 
		Array("/sublink1/"), 
		Array(
			"FROM_IBLOCK" => 1,
			"IS_PARENT" => 0,
			"DEPTH_LEVEL" => 2
		)
	),
);


где подпункт должен следовать за родит. пунктом и иметь соответ-щий уровень вложенности
Ответ написан
Комментировать
В битриксе меню может формироваться компонентами. То есть у вас может быть папка catalog или news с индексным файлом, в котором прописан комплексный компонент.
А этот компонент берет информацию из инфоблока в котором есть разделы, подразделы и элементы.
Соответственно, можно настроить меню так, что бы разделы/подразделы становились пунктами/подпунктами меню.
И это вообще на структуре папок отражаться не будет. Все будет формироваться динамически.
Ответ написан
Комментировать
@mSnus
вопрос старый, но отвечу, чтобы самому не забыть, когда понадобится ))

  1. в header.php или там, где подключается меню, надо исправить тип меню top на horizontal_multilevel:
    <? $APPLICATION->IncludeComponent("bitrix:menu", "horizontal_multilevel", Array(

  2. в .top.menu.php пишем
    Array(
    		"Пункт, из которого будет выпадать подменю",
    		"/parent1/",
    		Array(),
    		Array(
    			"FROM_IBLOCK" => 0,
    			"IS_PARENT" => 1,
    			"DEPTH_LEVEL" => 1
    		),
    		""
    	),
    /* подменю */
    		Array(
    			"Первый пункт подменю",
    			"/submenu1/",
    			Array("/submenu1/"),
    			Array(
    			"FROM_IBLOCK" => 0,
    			"IS_PARENT" => 0,
    			"DEPTH_LEVEL" => 2
    			),
    			""
    		),
    		Array(
    			"Второй пункт подменю",
    			"/submenu2/",
    			Array("/submenu2/"),
    			Array(
    			"FROM_IBLOCK" => 0,
    			"IS_PARENT" => 0,
    			"DEPTH_LEVEL" => 2
    			),
    			""
    		),
    /* конец подменю */


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

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

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