Регистрация
Вход через соцсети
Восстановление пароля

Количество подразделов в разделе

Новый топик
11.10.2014, 22:18
Ответить | Цитировать
Гость
Гость

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

в меню навигации нужно задать ширину выпадающего списка, которая зависит от количества подразделов. т.е. в 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)
Александр
12.10.2014, 12:14
Ответить | Цитировать
Nexwich
Панасин Александр
Nexwich

Зарегистрирован:
2011-04-05
Сообщений: 943

Чтобы получать расчеты вам необходимо выводить навигацию при помощи s_browse_sub а не nc_browse_sub.

Модуль "Почтовые уведомления" – настройка уведомлений на вашем сайте без программирования. Цена отзыв. Мне очень важно ваше мнение.
12.10.2014, 13:06
Ответить | Цитировать
Руслан Густокашин
Студия Вэлпис
Руслан Густокашин

Зарегистрирован:
2012-02-06
Сообщений: 869

Александр дал Вам правильный ответ - php-код в навигацию вставлять позволяет только функция s_browse_sub (в более новой функции nc_browse_sub эту возможность исключили, скорее всего, как идеологически неверную). Есть еще более продвинутое решение - использование класса навигации, являющееся по сути той же функцией, только в виде конструктора, используя который можно сотворить с навигацией практически что угодно.

Но подозреваю, что все это неправильные идеи для решения Вашей проблемы. Такие проблемы как Ваша, почти всегда можно решить средствами CSS. Если дадите ссылку, где можно посмотреть криво работающее меню, я попробую подсказать решение.
Вероятно, вам поможет установка фиксированной ширины для <li> (140px) и float:left; благодаря чему все пункты меню выстроятся горизонтально и займут ровно столько места, сколько имеется пунктов *140px.

198 196 2014-10-12 13:06:03 13842
Описание проекта