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

Вывод объектов из шаблона навигации

Новый топик
22.02.2012, 20:06
Ответить | Цитировать
Гость
Гость

Ситуация для созданя выпадающего меню проста, нужно в шаблоне навигации снова вызвать s_browse_sub с текущим разделом.
Моя ситцация сложнее - мне нужно вывести список объектов компонента этого раздела.

Т.е. в шаблоне навигации должен быть вызов функции nc_objects_list (насколько я понимаю). Я знаю id раздела, но я не знаю номер компонента внутри этого раздела. Как его получить малой кровью?

В итоге должен построится список вида:
Подраздел 1
Объект 1
Объект 2
Подраздел 2
Объект 1
Объект 2
Подзрадел 3
Объект 1
и т.п.
29.02.2012, 18:37
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

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

ну тут 2 варианта:
1. через s_list_class - плюс в том, что это штатный API, минус в том, что это геморойный путь, ибо наврятли вам понадобятся в выводимом меню показывать административные кнопки редактирования.

Цитата:
$mytemplate[unactive] = "bla bla bla \".s_list_class(\$data[\$i][Subdivision_ID],\$db->get_var(\"select Sub_Class_ID from Sub_Class where Subdivision_ID=\".\$data[\$i][Subdivision_ID]." limit 1")).\" bla bla bla";


2. просто sql запросом из таблицы компонента тащить нужные вам поля
Цитата:
$mytemplate[unactive] = "bla bla bla \".listQuery(\"select Message_ID,Name from MessageXX where Checked=1 and Subdivision_ID=\".\$data[\$i][Subdivision_ID],\"<a href='/url/url_\$data[Message_ID].html'>\$data[Name]</a>\",\"<br />\").\" bla bla bla";



зы. примеры из головы взял, не тестил, могут быть косяки - смотрите сами

Temet nosce...
12.03.2012, 16:11
Ответить | Цитировать
Гость
Гость

Результат listQuery (data) содержит дату раздела, а не компонента внутри раздела =(

Конфликт имен?
13.03.2012, 12:13
Ответить | Цитировать
DiGGy
DiGGy
DiGGy

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

по вашему ответу ну нефига не ясно, что вы в итоге сделали и какой результат получили. выкладывайте на форум ваш итоговый код - так будет яснее

Temet nosce...
13.03.2012, 12:39
Ответить | Цитировать
Гость
Гость

Извиняюсь, я просто шел мимо, заметил сообщение - попробовал.
--
Вариант с листквери понравился, начал использовать, но понял что, результат $data, который возвращает (должен) листквери, на самом деле $data от самого раздела сайта. От лист квери я быстро отказался, потому как нужно было еще выводить ссылки и т.п., поэтому заюзал первый вариант.

Отмечу только, что использовал функцию nc_objects_list, т.к. она вроде бы получше.

До этого использовал вариант другой. Перед выводом - получаем номера компонентов для всех разделов в массив, а потом подставляем из него, а не делаем запрос в objects_list - это уменьшает кол-во запросов, что приятно сказывается на быстродействии.
198 196 2012-03-13 12:39:06 11919
Описание проекта