Приветствую! Возникла задача вывести дополнительные подразделы в компоненте меню, а там их и так уже четыре уровня выводится. Известно, что по-умолчанию в битрикс столько и должно выводиться. Начал пробовать разные варианты, при помощи
CIBlockSection::GetList, получил список всех разделов, при помощи разности
Код |
---|
($arItem["RIGHT_MARGIN"]-$arItem["LEFT_MARGIN"]) |
определил
Код |
---|
$arSections["IS_PARENT"] |
для использования в стандартном шаблоне, при помощи
Код |
---|
$arItem["NAME"] получил $arItem["TEXT"] |
, а дальше печаль,
и некоторых других в новом массиве нет... подскажите как завершить этот путь, чтобы не пришлось шаблон переделывать...
Или второй вариант, кастомизировать компонент, чтобы в $arResult сразу приходило больше 4х уровней, я ещё не очень опытный, чтобы сразу там во всём разобраться, посмотрел, где там стоят ограничения поправил на нужные мне, но результата не обнаружил. В файле .parameters.php изменял
Код |
---|
"MAX_LEVEL" => Array(
"NAME"=>GetMessage("MAX_LEVEL_NAME"),
"TYPE" => "LIST",
"DEFAULT"=>'5',
"PARENT" => "ADDITIONAL_SETTINGS",
"VALUES" => Array(
1 => "1",
2 => "2",
3 => "3",
4 => "4",
5 => "5",
),
"ADDITIONAL_VALUES" => "N",
), |
В файле component.php, делал изменение в проверке, увеличивал допустимое значение, но результата не получил.
Код |
---|
//Menu depth level
if (isset($arParams["MAX_LEVEL"]) && 1 < intval($arParams["MAX_LEVEL"]) && intval($arParams["MAX_LEVEL"]) < 6)
$arParams["MAX_LEVEL"] = intval($arParams["MAX_LEVEL"]);
else
$arParams["MAX_LEVEL"] = 1; |
Подскажите, если не затруднит, как этим путём достигнуть результата? Что не учитываю? Где ошибаюсь? Возможно ли этим способом получить больше 4х уровней в $arResult? С уважением.