Телеграм: @bazarow_ru Почта: mihail@bazarow.ru

Вывод элементов с помощью API битрикс

Просмотров: 24001

Иногда, выводить элементы инфоблока с помощью компонентов, может оказаться избыточным. Например, если нужно вывести элементы инфоблока для реализации слайдера в шаблоне. Расскажу как вывести с помощью API Битрикс CIBlockElement::GetList

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

Но, что бы листинг шаблона был не очень длинным, если таких вставок достаточно много, эффективнее выводить с помощью API

<?
 if (CModule::IncludeModule("iblock")):
 $iblock_id = 11; // ID инфоблока из которого выводим элементы
 $mySlider = CIBlockElement::GetList (
 // Сортировка элементов
     Array(
        "ID" => "ASC"
    ),
     Array(
        "IBLOCK_ID" => 
        $iblock_id
    ),
    false,
    false,
    // Перечисляесм все свойства элементов, которые планируем выводить
    Array(
         'ID',
         'NAME',
         'PREVIEW_PICTURE',
         'PREVIEW_TEXT',
         'PROPERTY_LIN_PR'
     )
 );
 while($arFields = $mySlider->GetNext())
 {
 //Выводим элемент со всеми свойствами + верстка
 $img_path = CFile::GetPath($arFields["PREVIEW_PICTURE"]);
 echo '<li><a href="'.$arFields['PROPERTY_LIN_PR_VALUE'].'">';
 echo '<h4>'.$arFields['NAME']."</h4>";
 echo "<img src='".$img_path."'/>";
 echo "<p>".$arFields['PREVIEW_TEXT']."'</p>";
 echo '</a></li>';
 }
 endif;
 ?>

Если попробуете вывести свойство типа HTML/TEXT получите Array. Для его вывода используйте конструкцию


echo htmlspecialcharsBack($ar_fields['PROPERTY_КОД_СВОЙСТВА_VALUE']["TEXT"]);
Mansher 19.07.2018
В Вашем видео-" Трансляция фейловая  Базовая верстка карточки товара" (на примере интернет-магазина велосипедов) я так и не дождалась как Вы перенесёте текст с описанием товара в левую часть блока, под картинку велосипеда. Именно к такому виду мне нужно привести свою детальную страничку. Чтобы все свойства были справа от картинки, а описание слева, под картинкой.
Mansher 19.07.2018
Не могу найти шаблон, где прописан текст описание товара на детальной странице и где может быть изображение.
Алексей Иванов 26.08.2019
Добрый день.
Сдела слайдер.
Если все слайды удалить, то выводится пустой html.
Делал проверку типа такой:
if ($arItem = $rsItems->GetNext()){    // есть такой элемент }
Тогда даже есть 1 слайд не выводит ни чего.
Алексей Иванов 26.08.2019
Подскажите как проверить на наличие элементов в инфоблоке?
Если пусто то вообще не выводит ни чего.
Михаил Базаров 27.08.2019
Цитата
Алексей Иванов написал:
Подскажите как проверить на наличие элементов в инфоблоке?
Если пусто то вообще не выводит ни чего.
Если пусто-то ни чего и не выведется. Если правильно понял вопрос.
Андрей Белый 24.09.2019
Добрый день!
Подскажите пожалуйста, как вывести элементы конкретно раздела инфоблока?
Андрей Белый 24.09.2019
Вопрос решен
Павел Березовский 14.01.2020
Доброго времени, Михаил. Прошу помощи. Суть в следующем : есть 2 компонента, news.list и catalog.element. В первом компоненте реализован счетчик обратного времени, привязан к свойству ИБ(SHOW_TIMER) Можно ли мне с помощью АПИ Битрикса выводить этот счетчик во втором компоненте?
Гость 07.12.2022
Сделал слайдер таким способом. Но возник вопрос:
А как при этом методе вывести, скажем, 10 последних элементов инфоблока?
Михаил Базаров 07.12.2022
Цитата
Гость написал:
Сделал слайдер таким способом. Но возник вопрос:
А как при этом методе вывести, скажем, 10 последних элементов инфоблока?


У CIBlockElement::GetList есть параметры для отбора элементов

nTopCount - ограничить количество сверху.
nOffset - смещение.
nElementID; - ID элемента, который будет выбран вместе со своими соседями.

Подробнее в документации

Записная книжка разработчика

Примерно с 2013-го года пишу заметки по разработке сайтов на Битрикс.
Вы можете задавать уточняющие вопросы в комментариях- отвечаю или дополняю заметки по возможности.

Помечаем новинки лейблом в каталоге битрикс Просмотров: 20877 Достаточно часто, при разработке каталога товаров или интернет магазина на системе управле... Почтовое событие на создание нового элемента инфоблока, через API Просмотров: 15730 Иногда при разработке сайта требуется реализовать функционал добавления элементов инфоблок... Как подобрать редакцию Битрикс под задачи Просмотров: 7029 Последнее время, все чаще, при общении с заказчиками, сталкиваюсь с вопросом "— К... Вывести компонент новостей на страницу в Битрикс Просмотров: 65165 Посмотрел Яндекс метрику на свой сайт, и решил что буду частенько писать сюда именно то, ч... Memcached на сайте под управлением битрикс, при использовании Веб Окр... Просмотров: 7838 Если вам важна скорость отдачи сайта, а у вашего сервера медленный диск для использования ... Не дать пользователю купить больше одного товара, в Битрикс Просмотров: 5887 Иногда нужно и такое: Например: на одном из разрабатываемых сайтов, мне нужно было создать... Создание мобильного приложения на cordova, для любого сайта. Просмотров: 15922 Если стоит задача разработки мобильного приложения для сайта, можете воспользоваться данно... Вывести все товары, с постраничной навигацией, из всех разделов инфоб... Просмотров: 29937 По сути, эта заметка, небольшой лайфхак. Достаточно часто нужно, в корне каталога, в ТОП-е... Сортировать товары по названию, цене и дате поступления в каталоге Би... Просмотров: 41136 Достаточно часто заказчик просит вывести сортировку по цене, новым поступлениям и названию... Подключение мобильной версии шаблона Битрикс сайта, с автопереключени... Просмотров: 43410 Предпочитаю, что бы сайт не грузил кучу скриптов и стилей. При загрузке адаптивного шаблон... Автоматически помечаем новинки лейблом в каталоге битрикс Просмотров: 6030 Если вы хотите помечать новинки каталога, вашего магазина на Битрикс, лейблом "Новинка". И... Как вывести свойства инфоблока по отдельности и немного плюшек не в т... Просмотров: 108942 Если у инфоблока несколько свойств- то при выводе их всех, скажем в детальном описании нов... Очистка корзины в 1С-Битрикс одним нажатием Просмотров: 29636 В стандартной корзине Битрикс не хватает кнопки для полной очистки корзины одним нажатием... Связанные элементы в карточке товара, с помощью catalog.section Просмотров: 15800 Достаточно часто, при разработке магазинов на битрикс, требуется выводить связанные элемен... Увидеть файл заказов который передаст Битрикс в 1С Просмотров: 24512 Для диагностики обмена заказов, интернет-магазина на 1С Битрикс с 1С Управление Торговлей,... FTP доступ на Виртуальной машине Битрикс Просмотров: 17285 Бывает что нужно открыть FTP доступ к заранее известной папке на сайте под управлением 1С ... Установка вебсервера на Apple M1 (нативный ARM стек), оптимизированны... Просмотров: 7441 Появилась задачка, установить стек MAMP (macOS, Apache, MYSQL, PHP) на рабочий ноутбук с п... Time Capsule на Windows 10. Хранение бекапов Time Machine на компьюте... Просмотров: 7925 Заметку написал скорее для себя, что бы собрать все в одну кучу. Написана на базе нескольк... Пошагово получить информацию о заказах и сохранить как Excel (xls) Просмотров: 1702 Задача: Нужно получить информацию о заказах с возможностью указания даты создания "от"" и ... Вывести товары из того же раздела в карточке товара Просмотров: 18895 Немножко топорный, но все же вполне действенный способ по выводу внутри подробной карточки...