|
|
23.10.2015, 20:19
|
|
fazli
ymv
Зарегистрирован: 2011-02-27
Сообщений: 28
|
Как прописать вывод двухуровневого меню с выборкой конкретных разделов ?
При этом некоторые ссылки нужно выводить сразу в нескольких разделах меню.
Пробовал выводить модификаторами, только так выводятся только корневые разделы меню, вложенные разделы не выводятся.
Код:<ul class='main-menu'>
<? foreach ($nc_core->nav->where_in("id", array(3,5))->get_sub() as $sd): ?>
<? if ($sd->active): ?>
<li><b><?= $sd->name ?></b></li>
<? else: ?>
<li><a href='<?= $sd->url ?>'><?= $sd->name ?></a></li>
<? endif ?>
<? endforeach ?>
<ul>
fazli
|
|
|
26.10.2015, 11:26
|
|
Долгий Андрей
Зарегистрирован: 2015-09-10
Сообщений: 8
|
Функция get_sub из класса навигации может принимать в качестве аргумента номер раздела, подразделы которого она вернет. В $sd->id будет храниться номер выводимого корневого раздела. Так что можно просто дальше продолжать перебирать foreach'ем.
Код:<ul class='main-menu'>
<? foreach ($nc_core->nav->where_in("id", array(3,5))->get_sub() as $sd) { ?>
<li>
<? if ($sd->active) { ?>
<b><?= $sd->name ?></b>
<? } else { ?>
<a href='<?= $sd->url ?>'><?= $sd->name ?></a>
<? } ?>
<?
$sds1 = $nc_core->nav->get_sub($sd->id);
if ( count($sds1) ) {
?>
<ul>
<? foreach ($sds1 as $sd1) { ?>
<li><?=$sd1->name?></li>
<? } ?>
</ul>
<? } ?>
</li>
<? } ?>
<ul>
И так далее, можно любое количество вложенных циклов написать. Во втором, вложенном цикле, соответственно, номером раздела для передачи в get_sub уже будет $sd1->id.
|
|
|
27.10.2015, 17:23
|
|
fazli
ymv
Зарегистрирован: 2011-02-27
Сообщений: 28
|
Ясно, попробую прописать так, спасибо большое!
fazli
|
|
|
28.10.2015, 21:30
|
|
fazli
ymv
Зарегистрирован: 2011-02-27
Сообщений: 28
|
Еще:
часть многоуровнего меню выводится так:
Код:<?= nc_browse_sub(0, $browse_top_menu[0]); ?>
Что бы можно было выводить разделы выборочно прописал вывод так:
Код:<?= nc_browse_sub(0, $browse_top_menu, $ignore_check = 1, $where_cond = "show_top_menu='1'", $level = 0); ?>
только в этом случае выводится только один уровень меню.
Что не так ? Почему не выводятся остальные уровни меню ?
fazli
|
|
|
01.11.2015, 11:52
|
|
fazli
ymv
Зарегистрирован: 2011-02-27
Сообщений: 28
|
Нашел!
Нужно было просто выставить вывод—чекбокс в подразделах меню.
fazli
|