Михаил Базаров Разработка на 1С-Битрикс Михаил Базаров

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

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

Тоже самое с использованием D7

use Bitrix\Main\Loader;
use Bitrix\Iblock\ElementTable;
use Bitrix\Iblock\PropertyTable;
use Bitrix\Main\Entity;

$iblockId = 11; // ID инфоблока из которого выводим элементы

if (Loader::includeModule("iblock")) {
    $sliderElements = ElementTable::getList([
        'select' => [
            'ID',
            'NAME',
            'PREVIEW_PICTURE',
            'PREVIEW_TEXT',
            'PROPERTY_LINK_PR' => 'PROPERTY_LINK_PR.VALUE',
        ],
        'filter' => [
            'IBLOCK_ID' => $iblockId,
        ],
        'order' => [
            'ID' => 'ASC',
        ],
    ]);

    while ($element = $sliderElements->fetch()) {
       var_dump($element); // Все теже поля что и примером выше
    }
}

Этот код использует пространство имен Bitrix\Main и классы D7, чтобы получить элементы инфоблока, выбрать необходимые свойства и вывести их данные.

Услуги Стоимость разработки на 1С-Битрикс

Стоимость разработки сайта зависит от объёма и сложности проекта. Ниже приведены ориентировочные цены, как правило не выходят за обозначенные рамки. Срок разработки зависит от сложности проекта: как правило называю сроки с запасом.
Финальная стоимость и сроки разработки обговариваются на этапе обсуждения. Скачайте опросник на разработку, заполните как можно подробнее и вышлите удобным способом. После ознакомления смогу задать уточняющие вопросы и оценить проект.
Индивидуальная разработка магазина
от 300 000 руб. от 5-ти недель

Разработка магазина на 1С-Битрикс с нуля. Дизайн, сборка и оптимизация производительности под конкретный проект и требования. Реализация любого функционала без ограничений готовых решений.

Подробнее
Сайт на готовом решении 1С-Битрикс
от 70 000 руб. от 5-ти дней

Вариант для тех, кто не хочет тратить много средств на индивидуальный проект, и не имеет серьезных требований к сайту. Магазин, быстро запускается на базе одного из 200-та готовых решений.

Подробнее
Мобильное приложение
от 300 000 руб. от 4-х недель

Разработка кроссплатформенного мобильного приложения, которое не уступает нативным решениям как в производительности, так и пользовательском опыте. Публикуется в AppStore, GooglePlay и RuStore

Подробнее
Сайт компании
от 150 000 руб. от 2-х недель

Корпоративный сайт с информационными разделами, каталогом товаров или услуг. Включает формы обратной связи карточек каталога, любое количество статичных и динамичных разделов.

Подробнее
Инфоресурс
от 170 000 руб. от 3-х недель

Информационный ресурс любой сложности. Сайт для СМИ, городской портал или многопользовательская доска объявлений. Внутренние форумы, блоги- по необходимости.

Подробнее
Поддержка и доработки проектов
от 3 000 руб. от 1 часа

Выполнение доработок любой сложности. Поддержка, модернизация и расширение функционала существующих проектов. Решение задач: от мелких правок вёрстки до разработки новых модулей.

Подробнее

Включено в стоимость разработки:

  • Лицензия на 1С-Битрикс необходимой редакции, дополнительные модули, для реализации функционала и видео-инструкции по работе с готовым проектом
  • Оптимизация программной части проекта и конфигурации сервера под максимальную скорость работы. Базовая СЕО оптимизация и добавление сайта в поисковые системы.

Блог-note Заметки по 1С-Битрикс