|
|
01.09.2011, 12:06
|
|
Roman
Infoservis
Зарегистрирован: 2006-06-01
Сообщений: 31
|
Здравствуйте,
Есть раздел 0 уровня "Услуги" (id 84) в нем подразделы до 3х уровней вложенности Т.е.
Услуги
Категория1
Услуга11
ПодУслуга11
ПодУслуга12
Услуга12
ПодУслуга21
ПодУслуга22
Категория2
Услуга21
Услуга22
Категория3
Услуга31
Услуга32
Ссылками являются разделы Услуга и ПодУслуга
Пишу в макете дизайна
".s_browse_sub(84,$browse_sub[0])."
в шаблонах навигации:
$browse_sub[2]['prefix'] = "<ul><font size=-1>";
$browse_sub[2]['suffix'] = "</font></ul>";
$browse_sub[2]['active'] = "<li><b><a href=%URL>%NAME</a></b>";
$browse_sub[2]['active_link'] = "<li><b><a href=%URL>%NAME</a></b>";
$browse_sub[2]['unactive'] = "<li><b><a href=%URL>%NAME</a></b>";
$browse_sub[2][divider] = "";
$browse_sub[1]['prefix'] = "<ul>";
$browse_sub[1]['suffix'] = "</ul>";
$browse_sub[1]['active'] = "<li><b><a href=%URL>%NAME</a></b>".s_browse_level(2,$browse_sub[2])."</li>";
$browse_sub[1]['unactive'] = "<li><a href=%URL>%NAME</a>".s_browse_level(2,$browse_sub[2])."</li>";
$browse_sub[1][divider] = "";
$browse_sub[0]['prefix'] = "\";global \$browse_sub;\$result.=\"<ul>";
$browse_sub[0]['suffix'] = "</ul>";
$browse_sub[0]['active'] = "<li><b>%NAME</b>\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[1]).\"</li>";
$browse_sub[0]['unactive'] = "<li><b>%NAME</b>\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[1]).\"</li>";
$browse_sub[0][divider] = "";
Но выводит на главной только дерево до 2го уровня
т.е. ссылок на "ПодУслуги" нет.
И при заходе по ссылке в разделы "Услуги" где есть ПодУслуги выводит дублирование в каждом пункте выбранного Раздела и его подразделов 3го уровня.
Подскажите плиз как правильно написать вывод меню.
Чтобы и все уровни вложенности выводились и чтобы дублирования небыло при заходе внутрь.
спасибо.
|
|
|
01.09.2011, 12:17
|
|
Roman
Infoservis
Зарегистрирован: 2006-06-01
Сообщений: 31
|
Если шаблон 2го уровня переписать так
$browse_sub[1]['prefix'] = "<ul>";
$browse_sub[1]['suffix'] = "</ul>";
$browse_sub[1]['active'] = "<li><b><a href=%URL>%NAME</a></b>\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[2]).\"</li>";
$browse_sub[1]['unactive'] = "<li><a href=%URL>%NAME</a>\".s_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[2]).\"</li>";
$browse_sub[1][divider] = "";
То проблема дубляжа проходит, но 3й уровень вложенности все равно не выводит.
Что можно сделать ?, не хочется выводить каждую Категорию отдельным вызовом.
|
|
|
01.09.2011, 12:24
|
|
Pix Play
Pix Play
Зарегистрирован: 2011-04-11
Сообщений: 70
|
замените первую строчку для второго уровня:
Код:$browse_sub[1]['prefix'] = "\";global \$browse_sub;\$result.=\"<ul>";
laboratory of ideas
|
|
|
01.09.2011, 12:37
|
|
Roman
Infoservis
Зарегистрирован: 2006-06-01
Сообщений: 31
|
О, ну конечно, спасибо, разблокировали мозг :-)
|
|
|
06.10.2011, 14:11
|
|
Sergey
Зарегистрирован: 2011-10-03
Сообщений: 13
|
пытаюсь сделать по аналогии
Код:
$browse_sub[2]['prefix'] = "<ul class='submenu'>";
$browse_sub[2]['suffix'] = "</ul>";
$browse_sub[2]['active'] = "<li class=\\\"active\\\"><b><a href=%URL>%NAME</a></b></li>";
$browse_sub[2]['unactive'] = "<li><a href=%URL>%NAME</a></li>";
$browse_sub[2][divider] = "";
$browse_sub[1]['prefix'] = "\";global \$browse_sub;\$result.=\"<ul class='submenu'>";
$browse_sub[1]['suffix'] = "</ul>";
$browse_sub[1]['active'] = "<li class=\\\"active\\\"><b><a href=%URL>%NAME</a></b>".dev_browse_level(2,$browse_sub[2])."</li>";
$browse_sub[1]['unactive'] = "<li><a href=%URL>%NAME</a>".dev_browse_level(2,$browse_sub[2])."</li>";
$browse_sub[1][divider] = "";
$browse_sub[0]['prefix'] = "\";global \$browse_sub;\$result.=\"<ul>";
$browse_sub[0][suffix] = "</ul>";
$browse_sub[0][unactive] = "<li><a href='%URL'>%NAME</a>\".dev_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[1]).\"</li>";
$browse_sub[0][active] =
$browse_sub[0][active_link] = "<li class=\\\"active\\\"><a class='active' href='%URL'>%NAME</a>\".dev_browse_sub(\$data[\$i][Subdivision_ID],\$browse_sub[1]).\"</li>";
$browse_sub[0][divider] = "";
выводит всё норм. но нужно чтобы подразделы появлялись если выбрать родительский раздел. как можно сделать?
|
|
|
10.12.2011, 21:49
|
|
Yulia
Зарегистрирован: 2011-12-10
Сообщений: 4
|
А у меня вообще даже на стандартном примере не выводится меню. Происходит непонятно что.
Вот структура:
О компании
-- История
-- Миссия
Обратная связь
-- Контакты
-- Задать вопрос
-- Как проехать
Вот описание переменных:
$browse_sec[prefix] = "<div class='otleft'>";
$browse_sec[suffix] = "<br></div>";
$browse_sec[active] = "<a href='%URL'>%NAME</a><br>";
$browse_sec[active_link] = "<a href='%URL'>%NAME</a><br>";
$browse_sec[unactive] = "<a href='%URL'>%NAME</a><br>";
$browse_sec[divider] = "";
$browse_main[prefix] = "";
$browse_main[suffix] = "";
$browse_main[active] = "<span class='menu_toggle'>%NAME</span>".s_browse_sub($data[$i][Subdivision_ID],$GLOBALS[browse_sec])."";
$browse_main[active_link] = "<span class='menu_toggle'>%NAME</span>".s_browse_sub($data[$i][Subdivision_ID],$GLOBALS[browse_sec])."";
$browse_main[unactive] = "<span class='menu_toggle'>%NAME</span>".s_browse_sub($data[$i][Subdivision_ID],$GLOBALS[browse_sec])."";
$browse_main[divider] = "";
вот вывод в шаблоне
".s_browse_level(0,$browse_main)."
Результат :
О компании
-- О компании
-- Обратная связь
Обратная связь
-- О компании
-- Обратная связь
Т.е. тут даже третьего пункта нет. Я не пойму почему так происходит
Если делаю так:
".s_browse_level(0,$browse_sub[0])."
".($current_catalogue['Title_Sub_ID']==$sub ? ($template_settings['left_menu_sub'] ? s_browse_sub($template_settings['left_menu_sub'],$browse_sub[1]) : '') : s_browse_level(1, $browse_sub[1]) )."
То пункты выводит те, что нужно, то все второго уровня только после того как выводятся все первого уровня.
Подскажите, пожалуйста, где почитать или что я не так делаю.
|
|
|
10.12.2011, 23:44
|
|
DiGGy
DiGGy
Зарегистрирован: 2005-04-04
Сообщений: 1546
|
Код:$browse_main[active] = "<span class='menu_toggle'>%NAME</span>\".s_browse_sub(\$data[\$i][Subdivision_ID],\$GLOBALS[browse_sec]).\"";
$browse_main[active_link] = "<span class='menu_toggle'>%NAME</span>\".s_browse_sub(\$data[\$i][Subdivision_ID],\$GLOBALS[browse_sec]).\"";
$browse_main[unactive] = "<span class='menu_toggle'>%NAME</span>\".s_browse_sub(\$data[\$i][Subdivision_ID],\$GLOBALS[browse_sec]).\"";
Temet nosce...
|
|
|
11.12.2011, 00:53
|
|
Yulia
Зарегистрирован: 2011-12-10
Сообщений: 4
|
Спасибо, все прекрасно сработало
До сих пор не пойму почему пример из документации не работает? Дело в глобальной переменной? или еще в чем-то?
|