[QUOTE]Но как перекрыть файлы компонента(не шаблон компонента), файлами из папки со своим шаблоном я пока не додумался[/QUOTE]
Для того, чтобы спрятать пустые разделы с товарами в компоненте битрикс menu сначала необходимо вынести компонент в свое пространство имен и вывести количество элементов в разделах в скобках.
Описано в ветке [URL=http://dev.1c-bitrix.ru/community/forums/forum6/topic39714/]http://dev.1c-bitrix.ru/community/forums/forum6/topic39714/[/URL]
Я еще в параметр $arFilter добавил параметр "CNT_ACTIVE" => "Y", чтобы подсчет ввелся только по активным элементам:
[CODE] $arFilter = array(
"IBLOCK_ID"=>$arParams["IBLOCK_ID"],
"GLOBAL_ACTIVE"=>"Y",
"IBLOCK_ACTIVE"=>"Y",
"<="."DEPTH_LEVEL" => $arParams["DEPTH_LEVEL"],
// Parameter added
"CNT_ACTIVE" => "Y"
);
[/CODE]
Далее в шаблоне компонента menu в result_modifier дописываем (если файла result_modifier нет, то его надо создать):
[CODE]/* remove empty sections ----------------------------------------*/
foreach ($arResult as $key => $value) {
if (preg_match('/\((\d+)\)/', $value['TEXT'], $matches)) {
if (0 == $matches[1]) {
unset($arResult[$key]);
}
}
}[/CODE]
Для того, чтобы спрятать пустые разделы с товарами в компоненте битрикс menu сначала необходимо вынести компонент в свое пространство имен и вывести количество элементов в разделах в скобках.
Описано в ветке [URL=http://dev.1c-bitrix.ru/community/forums/forum6/topic39714/]http://dev.1c-bitrix.ru/community/forums/forum6/topic39714/[/URL]
Я еще в параметр $arFilter добавил параметр "CNT_ACTIVE" => "Y", чтобы подсчет ввелся только по активным элементам:
[CODE] $arFilter = array(
"IBLOCK_ID"=>$arParams["IBLOCK_ID"],
"GLOBAL_ACTIVE"=>"Y",
"IBLOCK_ACTIVE"=>"Y",
"<="."DEPTH_LEVEL" => $arParams["DEPTH_LEVEL"],
// Parameter added
"CNT_ACTIVE" => "Y"
);
[/CODE]
Далее в шаблоне компонента menu в result_modifier дописываем (если файла result_modifier нет, то его надо создать):
[CODE]/* remove empty sections ----------------------------------------*/
foreach ($arResult as $key => $value) {
if (preg_match('/\((\d+)\)/', $value['TEXT'], $matches)) {
if (0 == $matches[1]) {
unset($arResult[$key]);
}
}
}[/CODE]