|
Гость
Гость
|
Здравствуйте!
в меню навигации нужно задать ширину выпадающего списка, которая зависит от количества подразделов. т.е. в ul нужно подставить style= width : 140 Х кол-во разделов;
я завис на запросе ко-во подразделов в разделе.
почитав форум и базу знаний, построил запрос, который не могу воткнуть в шаблон вывода навигации.
$menu_count = listQuery("SELECT COUNT(*) AS count FROM Subdivision WHERE Parent_Sub_ID='\".$data[$i][Subdivision_ID].\" AND Checked=1", "\$data[count]");
$menu_width = "".((int)(140*$menu_count))."px";
$browse_top_menu[1]['prefix'] = "<ul class=\"sub-menu\" style='width:$menu_width'>\n";
$browse_top_menu[1]['suffix'] = "</ul>\n";
$browse_top_menu[1]['active'] = "\t<li><a href=\"%URL\"><img src=\"%Pic\" alt=\"%NAME\"/><span>%NAME</span></a></li>\n";
$browse_top_menu[1]['unactive'] = "\t<li><a href=\"%URL\"><img src=\"%Pic\" alt=\"%NAME\"/><span>%NAME</span></a></li>\n";
$browse_top_menu[0]['prefix'] = "<nav class=\"primary\">\t<ul id=\"topnav\" class=\"sf-menu sf-js-enabled\">";
$browse_top_menu[0]['suffix'] = "</ul>\n</nav>";
$browse_top_menu[0]['active'] = "\t<li>\n<a href=\"#\" class=\"sf-with-ul\"><span>%NAME</span></a>\n\t%NEXT_LEVEL</li>\n";
$browse_top_menu[0]['unactive'] = "\t<li>\n<a href=\"#\" class=\"sf-with-ul\"><span>%NAME</span></a>\n\t%NEXT_LEVEL</li>\n";
Выручайте, плз (неткет5.4)
Александр
|
|
Руслан Густокашин
Студия Вэлпис
Зарегистрирован: 2012-02-06
Сообщений: 962
|
Александр дал Вам правильный ответ - php-код в навигацию вставлять позволяет только функция s_browse_sub (в более новой функции nc_browse_sub эту возможность исключили, скорее всего, как идеологически неверную). Есть еще более продвинутое решение - использование класса навигации, являющееся по сути той же функцией, только в виде конструктора, используя который можно сотворить с навигацией практически что угодно.
Но подозреваю, что все это неправильные идеи для решения Вашей проблемы. Такие проблемы как Ваша, почти всегда можно решить средствами CSS. Если дадите ссылку, где можно посмотреть криво работающее меню, я попробую подсказать решение.
Вероятно, вам поможет установка фиксированной ширины для <li> (140px) и float:left; благодаря чему все пункты меню выстроятся горизонтально и займут ровно столько места, сколько имеется пунктов *140px.
|