Регистрация
Регистрируясь, вы подтверждаете свое согласие с соглашением об использовании персональных данных.
Восстановление пароля

Как определить наличие подразделов в классе навигации?

24.11.2022, 10:47
Konstantin
Vianet
Konstantin

Зарегистрирован:
2006-06-22
Сообщений: 31

Здравствуйте!

ПОжалуйста, подскажите как определить наличие подразделов в классе навигации.
Во второй строке кода ниже нужно добавить класс dropdown-child-menu

<? foreach ($nc_core->nav->where('show_in_menu','0')->get_sub($sd->Subdivision_ID) as $sd_sub): ?>

<li class="<? if ( $sd_sub2 существует ): ?>dropdown-child-menu<? endif; ?>">

<a class="<? if ($sd_sub->active): ?>activ<? endif; ?>" href="<?= $sd_sub->url; ?>"><?= $sd_sub->name; ?></a>
<? if ($nc_core->nav->get_sub($sd_sub->Subdivision_ID)): ?>
<ul class="sub3">
<? foreach ($nc_core->nav->get_sub($sd_sub->Subdivision_ID) as $sd_sub2): ?>
<li class="first">
<a class="<? if ($sd_sub2->active): ?>activ<? endif; ?>" href="<?= $sd_sub2->url; ?>"><?= $sd_sub2->name; ?></a>
</li>
<? endforeach; ?>
</ul>
<? endif; ?>
</li>
<? endforeach; ?>


Заранее спасибо!

konstantin
24.11.2022, 12:23
Баранов Александр
NetCat

Зарегистрирован:
2013-04-17
Сообщений: 40

Здравствуйте!

Для того, чтобы понять, имеет ли раздел подразделы по его Subdivision_ID, достаточно посмотреть результат выполнения этой функции nc_get_sub_children($sub, false) https://netcat.ru/developers/docs/api/nc_get_sub_children.html. Она вернет пустой массив, если подразделов нет, иначе - массив с номерами подразделов.

abaranov
24.11.2022, 15:48
Konstantin
Vianet
Konstantin

Зарегистрирован:
2006-06-22
Сообщений: 31

Александр, спасибо!

Не получается применить nc_get_sub_children($sub, false). Можете прокомментировать?

Сейчас сделал следующую проверку и все хорошо.
<li class="first <? if ($nc_core->nav->get_sub($sd_sub->Subdivision_ID)): ?>dropdown-child-menu<? endif; ?>">

konstantin
24.11.2022, 16:10
Баранов Александр
NetCat

Зарегистрирован:
2013-04-17
Сообщений: 40

Цитата:
Не получается применить nc_get_sub_children($sub, false). Можете прокомментировать?


Не смогу, поскольку нет контекста/подробностей и неясно, что имеется в виду под "не получается применить".

Условие
Цитата:
if ($nc_core->nav->get_sub($sd_sub->Subdivision_ID))
также вполне имеет место быть в качестве проверки на подразделы. По смыслу это, в принципе, то же самое, что условие с nc_get_sub_children():

Код:
 if (nc_get_sub_children($sd_sub->Subdivision_ID, false)) 


abaranov
198 196 2022-11-24 16:10:24 15342
Описание проекта