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

Как вывести список "услуг" в шаблоне компонента?

Страницы: 1  |  2
04.05.2017, 14:54
Виктор
Виктор

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

День добрый, уважаемые кодеры!
С netcat'ом столкнулся вчера, потихоньку курю мануалы и дело продвигается, но, столкнулся с некой задачей, а описания в тырнэте так и не нашел...
В общем, есть раздел и компонент, к примеру "Услуги", в разделе список услуг (название, описание), в шаблоне компонента есть поле "Отображение объекта" (на отдельной странице). Как бы всё выводится, всё хорошо, НО, как в этом же поле вывести полный список услуг? То есть мне надо организовать сайдбар и вывести весь список услуг в виде меню ну или просто ссылок, подскажите пожалуйста, какая команда за это отвечает, буду признателен за наглядный пример!
Сейчас так: prntscr.com/f3zxs3
А нужно чтоб было так: prntscr.com/f3zy32
Полагаю что тут без foreach не обойтись, но пока совсем не понимаю как это сделать... ибо осваиваю сию систему только второй день...
04.05.2017, 17:35
Игорь
Игорь Мишарин
Игорь

Зарегистрирован:
2011-11-20
Сообщений: 479

Можно и foreach, но есть nc_browse_sub(XX, $template)
XX - номер раздела с услугами
$template - шаблон вывода

Stark
04.05.2017, 22:11
Виктор
Виктор

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

А поподробнее можно? Ну касаемо шаблона вывода $template, где его надо описывать?
05.05.2017, 21:18
Игорь
Игорь Мишарин
Игорь

Зарегистрирован:
2011-11-20
Сообщений: 479

https://netcat.ru/developers/docs/api/nc_browse_sub.html
p.s. $template - это примерно, можно любое название прописать

Stark
06.05.2017, 00:00
Виктор
Виктор

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

Спасибо конечно, я читал эту страничку , но так я и не пойму... у меня есть подраздел 144, в нем только лишь услуги (список, не разделы), пытался всяко выводить, а ничего не выводится, даже print_r(...) ничего не выдает... А то что $template - это имя своего шаблона я понял, просто не понятно в каком месте его расписывать, в шаблоне компонента где системные переменные или в макете дизайна? В общем фигня получается... а конкретнее ничего не получается...(((
06.05.2017, 01:14
Камыхин Александр
ПАЛНАРИС

Зарегистрирован:
2013-05-08
Сообщений: 13

Если хотите вывести объекты из компонента услуги, то можете воспользоваться функцией nc_objects_list
06.05.2017, 10:23
Игорь
Игорь Мишарин
Игорь

Зарегистрирован:
2011-11-20
Сообщений: 479

Цитата:
у меня есть подраздел 144, в нем только лишь услуги (список, не разделы),

Ага, т.е. в 144 разделе нет подразделов, а услуги добавлены как объекты?
Значит, да, воспользоваться вышеуказанной функцией nc_objects_list при этом применить другой (дополнительный) шаблон вывода объектов, т.е. чтобы выводились только ссылки на услуги.
Например:
Код:
<?= nc_objects_list(XXX, YYY, "nc_ctpl=ZZZZ") ;?>

XXX - ID раздела услуг
YYY - ID инфоблока в разделе услуг
ZZZZ - ID дополнительного шаблона компонента

Stark
06.05.2017, 11:01
Виктор
Виктор

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

Спасибо, теперь стало гораздо понятнее! Объекты вывелись, всё хорошо.
Остался последний вопрос касаемо этого списка... Выводится он в виде <ul><li>....</li></ul>
Как теперь добавить класс active к активной странице? Это нужно делать так же как с меню, префиксы, суффиксы и т.д.?
Сейчас у меня в шаблоне компонента <ul> <?=nc_object_list...?> </ul>, а в соседнем <li>$f_name</li>
Или я что-то не так сделал?
06.05.2017, 11:43
Виктор
Виктор

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

В общем сделал так... В соседнем шаблоне, "Префикс списка объектов:" добавил: $this_page = $_SERVER['REQUEST_URI'];
А в "Объект в списке:" сделал условие, if ($fullLink == $this_page) ... то <li> класс становится active или же нет... Незнаю насколько это правильно в данной CMS (может есть какие команды попроще), но тем не менее работает.
06.05.2017, 11:47
Камыхин Александр
ПАЛНАРИС

Зарегистрирован:
2013-05-08
Сообщений: 13

да, префиксы, суфиксы и т.д. это для работы с функциями вывода меню. Ваш вариант вполне рабочий, почему бы и нет.
06.05.2017, 11:54
Виктор
Виктор

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

Подскажите пожалуйста такой момент... Есть у меня раздел услуги при переходе в которой попадаем на страницу с услугами... А как сделать так, чтоб при переходе попадали сразу же в первую услугу списка а не в сам раздел? (Для посетителей имеется ввиду)
Полагаю редирект нужно поставить? Или штатными средствами можно сделать?
198 196 2017-05-20 18:22:02 14753
Страницы: 1  |  2
Описание проекта