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

Вывод элементов с помощью API битрикс
Просмотров: 7098 | Комментариев: 15

Иногда, выводить элементы инфоблока с помощью компонентов, может оказаться избыточным. Например, если нужно вывести элементы инфоблока для реализации слайдера в шаблоне. Расскажу как вывести с помощью 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"]);
Ренат Рахимов
такой же слайдер по Вашему уроку сделал.

вопрос вот какой: Как сделать такой же слайдер   в карточке товара например,  т.е. вызвать только значения поля 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
Не могу найти шаблон, где прописан текст описание товара на детальной странице и где может быть изображение.