Задать вопрос
@SpeakLive91

Как скрыть пустые разделы из инфоблока в menu.section Bitrix?

Доброй ночи. Задача такова: нужно убрать все пустые разделы из menu_ext (импорт компонента bitrix:menu.sections).
Код компонента:
https://pastebin.com/bXctZxLj
Я там уже попытался добавить строчки
if(0 == $arSection["ELEMENT_CNT"])
		   {
			 //var_dump($arSection["ID"]);
			 unset($arSection["ID"]);
		   }

Но раз сюда я пишу, значит этот код не работает.Ну он по-крайней мере может выводить сейчас ID пустых разделов, если это конечно нужно.
Вопрос теперь: чего не хватает или я что-то написал не так?
  • Вопрос задан
  • 1431 просмотр
Подписаться 1 Средний Комментировать
Решения вопроса 1
sabramovskikh
@sabramovskikh
Ну как пример просто не добавлять в массив
while($arSection = $rsSections->GetNext())
        {
           if($arSection["ELEMENT_CNT"])
           {
         
   $arResult["SECTIONS"][] = array(
                "ID" => $arSection["ID"],
                "DEPTH_LEVEL" => $arSection["DEPTH_LEVEL"],
                "~NAME" => $arSection["~NAME"],
                "~SECTION_PAGE_URL" => $arSection["~SECTION_PAGE_URL"],
            );
            $arResult["ELEMENT_LINKS"][$arSection["ID"]] = array();
  
         
           }
           
        }
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
AlexeyCaTHaR
@AlexeyCaTHaR
Нельзя прямо вот так взять и что-то править в компоненте. получайте список разделов в массив и работайте с ним.
Ну и вполне можете не пользоваться компонентом, а написать свою выборку на CIBlockSection::GetList()
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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