nc_objects_list( $sub, $cc, $params, $show_in_admin_mode=false )
выводит данные из другого инфоблока
Функция выводит объекты инфоблока номер $cc (ID в таблице Sub_Class) раздела $sub (ID в таблице Subdivision). В третьем параметре передается набор дополнительных необязательных параметров в формате: ¶m1name=value¶m2name=value.
Параметр | Описание |
---|---|
nc_ctpl | номер шаблона компонента, который будет использован для вывода данных |
nc_title=1 | подключить специальный шаблон «для титульной страницы» |
recNum | количество объектов, которое будет выведено |
curPos | номер объекта по очереди, с которого надо начать вывод |
nc_page | номер страницы (если переменная nc_page задана, значение переменной curPos будет установлено исходя из номера страницы и количества объектов на странице) |
любые другие параметры, которые должны обрабатываться в компоненте для сортировки, выборки, настройки отображения и т.д. |
<?= nc_objects_list( 11, 22, "&recNum=3&show_random=1&nc_ctpl=33" ); ?>
Эта функция отобразит три объекта из инфоблока номер 22 раздела номер 11. Данные будут отображены в шаблоне компонента номер 33. При этом, параметр $show_random должен быть обработан в шаблоне компонента, иначе он ни на что не влияет.
Комментарии 24
[CODE]<?= nc_objects_list( 11, 22, "&recNum=3&show_random=1&nc_ctpl=33&sort_by=up" ); ?>[/CODE]
в системных настройках проверяйте переменную:
[CODE]if ($sort_by == "up") {
$query_order = "Price DESC";
}[/CODE]
nc_objects_list(0, $template_settings['news_cc'], '&recNum=5');
Т.е. получается что $sub вообще не обязательно указывать. Я прав? Ну и да.. логично, зачем он вообще тут нужен не понимаю. Может стоит создать еще один такой метод, который на вход будет только $cc принимать?:
А то приходится это их каких то других случайных источников узнавать.
Спасибо!
Я добавил еще один раздел и в нем инфоблоки, номера которых другие. Сейчас получается, что я в шаблоне указал выводить конкретно данные из указанного раздела.
Подскажите, что написать, что номера раздела и инфоблока подставлялись сами исходя из того, в из какого раздела открыта страница?
Поставьте вместо 680 $cc - скорее всего это будет то, что вам нужно, если я верно понял обстоятельства вашей задачи. :)
Знаете как бывает?! Сначала голову ломаешь, напишешь в итоге вопрос, и решение само собой приходит...;-)
Огромное спасибо за уделенное время:-)
if($show_random) $query_order="RAND()";
А переменная recNum уже и так обработается системой, для нее IF делать не нужно.
Как убрать обвёртку которую делает сам неткат? Она мешает работе слайдера
<div class="tpl-block-list tpl-component-113" id="nc-block-ebc73cb64dde79a83d91720f19cb1040">
...
</div>
У этой функции есть еще параметр $get_current_cc, который не указан в документации - что он значит?
Вместо такого вот:
$res = $nc_core->db->get_results("SELECT * FROM `Message169` WHERE `subUnit`=$f_Message_ID", ARRAY_A );
...
foreach($res as $row){ ....
............ // вывод значений на страницу....
}