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

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

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
Сообщений: 1037

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

Модуль "Почтовые уведомления" – настройка email уведомлений на вашем сайте без программирования. Бесплатно. http://netcat.ru/products/CatStore/solution_242.html
12.10.2014, 13:06
Руслан Густокашин
Студия Вэлпис

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

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

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