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

Количество объектов в резделах в ссылках навигационного меню

Новый топик
25.05.2008, 21:44
Ответить | Цитировать
Thiamin
Веб-студия «Арт-Лайн»
Thiamin

Зарегистрирован:
2008-05-20
Сообщений: 145

Доброе время суток.

Подскажите, пожалуйста, реально ли с технической точки зрения осуществить следующее:

При выводе карты сайта (".s_browse_sub(0,$browse_map).") необходимо, чтобы после названия каждой ссылки (%NAME) выводилось количество объектов соответствующего раздела (компонента):

--Раздел
----Подраздел (11)
----Подраздел (16)
--Раздел
----Подраздел (7)
----Подраздел (14)

Заранее благодарю за любую информацию.

chance favours the prepared mind
26.05.2008, 10:12
Ответить | Цитировать
pe3udent
Артур Юсупов

Зарегистрирован:
2008-04-03
Сообщений: 220

Реально.

Для каждого $data[$i][Subdivision_ID] нужно выбрать номер шаблона (MessageXX), предварительно проверив, что у текущего раздела нет потомков. Опять же, если в разделе несколько шаблонов - нужно использовать какой-то один.
После этого можно получить количество записей в таблице MessageXX и вывести.

Надо учитывать, что при построении такой карты для каждого раздела используется запрос в базу данных для построения дерева + вы добавите свой функционал вывода количества объектов (это еще запрос - два).
Лучше написать свою функцию для построения карты сайта, которая выведет все разделы одним запросом (без определения количества объектов в разделе), либо дополнить ее необходимым функционалом.
26.05.2008, 11:19
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

Зарегистрирован:
2005-04-04
Сообщений: 1546

Код:

$browse_map[active] = "<a href=%URL>%NAME</a> ( ".$db->get_var("select count(1) from MessageXX where Checked=1 and Subdivision_ID='".$data[$i][Subdivision_ID]."'")." )";

$browse_map[unactive] = $browse_map[active];
$browse_map[active_link] = $browse_map[active];


где MessageXX - таблица компонента, назначенная всем разделам.


Temet nosce...
26.05.2008, 11:28
Ответить | Цитировать
xzirrow

Зарегистрирован:
2007-09-03
Сообщений: 79

Если для каждого раздела делать по запросу сколько в нем объектов то навигация будет открываться ужасно долго . Сделайте один запрос , с джойном а потом обработайте массив . конечно если компоненты разные это сложнее будет сделать запрос получится тяжелый .но зато один.

Но обычно и компонент ведь один - каталог товаров большая улыбка

H.O.P.E
26.05.2008, 16:03
Ответить | Цитировать
Thiamin
Веб-студия «Арт-Лайн»
Thiamin

Зарегистрирован:
2008-05-20
Сообщений: 145

pe3udent, DiGGy, xzirrow, спасибо вам всем огромное. Ситуация у меня действительно не очень сложная: у разделов, для которых необходимо вывести кол-во объектов, потомков гарантированно нет, а компоненты везде одинаковые. Иначе говоря, это количество обычных статей.

Я просто пока еще не дочитал руководство разработчика в части компонентов (пока только разделы и навигационные элементы в макетах дизайна осилил). Вы помогли немного опередить события, за что еще раз всем большое спасибо.

chance favours the prepared mind
198 196 2008-05-26 16:03:11 7432
Описание проекта