Массив PARAMS в меню

2k
Алексей,
Массив PARAMS в меню

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

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

Например в .top.menu.php, в 4ый элемент массива можно вписать любое количество пар "ключ" => "значение":

$aMenuLinks = Array(
	Array(
	"Главная страница",
		"/",
		Array(),
		Array('COLOR' => 'red'),
		""
	),
	Array(
		"Каталог",
		"/catalog/",
		Array(), // массив доп. ссылок, в которых пункт будет "SELECTED", например /sale/
		Array('COLOR' => 'green'), // еще тут может быть "FROM_IBLOCK" => "1", "IS_PARENT" => "Y", "DEPTH_LEVEL" => "2",
		"" // строка с условием, если не выполняется, пункт не показывается, например "\$USER->IsAuthorized()"
	),
);

После, эти данные можно получить в шаблоне компонента bitrix.menu, они будут в ключе ['PARAMS']

foreach($arResult as $itemIdex => $arItem) {
	var_dump($arItem['PARAMS']['COLOR']);
}

Так же, суперпродвинутый администратор сможет менять эти данные из админки:

расширенное редактирование меню в админке

Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.

Опубликовано 8 ноября 2021 | Обновлено 23 марта 2022
меню, костыли
Поделиться
Комментарии
❮…❯
Авторизуйтесь чтобы получать уведомления об ответе
Ненавижу меню в битрикс, но что есть, с тем надо работать. Для того, чтобы сделать пункты меню разными, можно использовать массив PARAMS.