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

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

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

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

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

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

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

echo htmlspecialcharsBack($ar_fields['PROPERTY_КОД_СВОЙСТВА_VALUE']["TEXT"]);
Просмотров: 18280 | Комментариев: 19

Комментарии

Внимание! все сообщения проходят премодерацию. Ваше сообщение появится после проверки
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Защита от автоматических сообщений
Загрузить файл
Нажимая кнопку "Отправить", Вы принимаете условия
Политики конфиденциальности и обработки персональных данных
Ренат Рахимов
такой же слайдер по Вашему уроку сделал.

вопрос вот какой: Как сделать такой же слайдер   в карточке товара например,  т.е. вызвать только значения поля MORE_photo и запихать эти фотки в DIVы
Имя Цитировать
Михаил Базаров
Цитата
Ренат Рахимов пишет:
такой же слайдер по Вашему уроку сделал.

вопрос вот какой: Как сделать такой же слайдер в карточке товара например, т.е. вызвать только значения поля MORE_photo и запихать эти фотки в DIVы
Можно вот так https://camouf.ru/blog-note/301/ само собой, вместо фансибокса воспользуйтесь скриптами и верстой слайдера
Имя Цитировать
Александр Силуянов
Михаил, а как вывести таким методом новости из одного раздела у которого известно ID?
Спасибо.
Имя Цитировать
Михаил Базаров
Цитата
Александр Силуянов написал:
Вывод элементов с помощью API битрикс
Код
Array("IBLOCK_ID" => $iblock_id, "SECTION_ID" => ТУТ_ID_РАЗДЕЛА),

В общем, собирайте в массив все известные параметры элементов
Имя Цитировать
Александр Силуянов
Михаил, спасибо огромное! Без вас погиб бы))
Имя Цитировать
Александр Силуянов
Цитата
Михаил Базаров пишет:
Цитата
Александр Силуянов написал:
Вывод элементов с помощью API битрикс
Array("IBLOCK_ID" => $iblock_id, "SECTION_ID" => ТУТ_ID_РАЗДЕЛА),

В общем, собирайте в массив все известные параметры элементов
Последний вопрос: количество элементов ограничить в таком методе возможно?
Имя Цитировать
Михаил Базаров
Тоже самое на D7

Подключаем модуль

use Bitrix\Main\Loader; Loader::includeModule('iblock');
$dbItems = \Bitrix\Iblock\ElementTable::getList(array(
Имя Цитировать
Сергей Стефанович
Цитата
Михаил Базаров написал:
Тоже самое на D7

Подключаем модуль

use Bitrix\Main\Loader; Loader::includeModule('iblock');
$dbItems = \Bitrix\Iblock\ElementTable::getList(array(
А можно полный пример кодом? не совсем понял что нужно сделать.
Имя Цитировать
Mansher
Михаил, подскажите пожалуйста! Как отобразить иконки на детельной странице-горизонтально? у меня их 4 и они идут одна под другой, а мне нужно 4 в один ряд. Спасибо!
Имя Цитировать
Mansher
не получается Вам код отобразить...
Имя Цитировать
Михаил Базаров
Цитата
Mansher написал:
не получается Вам код отобразить...
Иконка в панели пятая справа <...> для вставки кода
Имя Цитировать
Mansher
Нет всё-равно не получается(
Имя Цитировать
Михаил Базаров
Цитата
Mansher написал:
Нет всё-равно не получается(
Вы, так понимаю, картинку пытаетесь вставить. Нужно прямо текстом в тег <...>
Имя Цитировать
Mansher
В Вашем видео-" Трансляция фейловая  Базовая верстка карточки товара" (на примере интернет-магазина велосипедов) я так и не дождалась как Вы перенесёте текст с описанием товара в левую часть блока, под картинку велосипеда. Именно к такому виду мне нужно привести свою детальную страничку. Чтобы все свойства были справа от картинки, а описание слева, под картинкой.
Имя Цитировать
Mansher
Не могу найти шаблон, где прописан текст описание товара на детальной странице и где может быть изображение.
Имя Цитировать
Алексей Иванов
Добрый день.
Сдела слайдер.
Если все слайды удалить, то выводится пустой html.
Делал проверку типа такой:
if ($arItem = $rsItems->GetNext()){    // есть такой элемент }
Тогда даже есть 1 слайд не выводит ни чего.
Имя Цитировать
Алексей Иванов
Подскажите как проверить на наличие элементов в инфоблоке?
Если пусто то вообще не выводит ни чего.
Имя Цитировать
Михаил Базаров
Цитата
Алексей Иванов написал:
Подскажите как проверить на наличие элементов в инфоблоке?
Если пусто то вообще не выводит ни чего.
Если пусто-то ни чего и не выведется. Если правильно понял вопрос.
Имя Цитировать
Андрей Белый
Добрый день!
Подскажите пожалуйста, как вывести элементы конкретно раздела инфоблока?
Имя Цитировать
Андрей Белый
Вопрос решен
Имя Цитировать
Павел Березовский
Доброго времени, Михаил. Прошу помощи. Суть в следующем : есть 2 компонента, news.list и catalog.element. В первом компоненте реализован счетчик обратного времени, привязан к свойству ИБ(SHOW_TIMER) Можно ли мне с помощью АПИ Битрикса выводить этот счетчик во втором компоненте?
Имя Цитировать
Поделиться страницей Спасибо, это помогает развивать сайт.
Мой youtube канал. Сюда я выкладываю видео уроки по разработке сайтов и не только. Подписывайтесь, скоро будет серия свежих видео-инструкций:
Перейти на канал
Заметки разработчика

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

Заказaть разработку attention