@Avguston

Как вывести несколько меню?

Всем привет. У меня формируется меню из элементов инфоблока:
foreach($sectionsList as $section) {
	foreach($section["ITEMS"] as $item) {
		$aMenuLinks[] = Array(
			$item["NAME"],
			SITE_DIR."information/".$section["CODE"]."/".$item["CODE"]."/",
			Array(),
			Array("FROM_IBLOCK" => 1, "IS_PARENT" => "", "DEPTH_LEVEL" => 1)
		);
	}
}

Мне нужно еще добавить вручную один элемент в конец
<?
$aMenuLinks = Array(
	Array(
		"Главная", 
		"/", 
		Array(), 
		Array(), 
		"" 
	)
);
?>

Как мне это сделать? я пробовал вот так:
foreach($sectionsList as $section) {
	foreach($section["ITEMS"] as $item) {
		$aMenuLinks = Array(
		Array(
			$item["NAME"],
			SITE_DIR."information/".$section["CODE"]."/".$item["CODE"]."/",
			Array(),
			Array("FROM_IBLOCK" => 1, "IS_PARENT" => "", "DEPTH_LEVEL" => 1)
		),
		Array(
		"Главная", 
		"/", 
		Array(), 
		Array(), 
		"" 
	)
	);
	}
}
?>

Но тогда он мне выводит только первый элемент из инфоблока и мою Главную
Так выводит просто Array
foreach($sectionsList as $section) {
	foreach($section["ITEMS"] as $item) {
		$aMenuLinks[] = Array(
		Array(
			$item["NAME"],
			SITE_DIR."information/".$section["CODE"]."/".$item["CODE"]."/",
			Array(),
			Array("FROM_IBLOCK" => 1, "IS_PARENT" => "", "DEPTH_LEVEL" => 1)
		),
		Array(
		"Главная", 
		"/", 
		Array(), 
		Array(), 
		"" 
	)
	);
	}
}
?>
  • Вопрос задан
  • 185 просмотров
Решения вопроса 1
alexfilus
@alexfilus
Senior backend developer
Ужас какой.
Во-первых не лепите всё вместе. Статические пункты меню в файле меню, динамические в файле _ext. И там в конце нужно будет их объединить.
$aMenuLinks = array_merge($aMenuLinksExt, $aMenuLinks);
Во-вторых проверьте отдельно правильно ли собираются данные из инфоблока и подставляются в меню.
Лучше это делать в отдельном компоненте, и вызывать его в _ext файле.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы