Битрикс получить значение свойства элемента

Не раз приходилось сталкиваться с задачей, когда нужно было вывести свойство инфоблока через 1с-Битрикс API. Рассмотрим такой пример : имеется инфоблок с различными футболками , задача – вывести название футболки и ткань , из которой она сделана.

Инфоблок с футболками имеет >

и требуется вывести свойство с символьным кодом = «TKAN»(рис.2).

Вот что у меня получилось:

Главный наш помощник в получении результата функция битрикс API — CIBlockElement::GetList.

$arSort — отвечает за сортировку. Значение ‘NAME’ => ‘ASC’ означает сортировать по имени по возрастанию.
$arSelect — массив возвращаемых полей элемента. В нашем случае доступны:

Этот список можно пополнить другими свойствами.

$arFilter – нужен для фильтрации элементов. $arFilter = Array(‘IBLOCK_ID’=> 5) означает, что из всех элементов хранимых в инфоблоках сайта, мы выбираем только те, которые находятся в инфоблоке с >

  • $arFilter = Array(‘PROPERTY_ TKAN ‘=> ‘шерсть’) – все элементы, у которых параметр ткань = шерсть.
  • $arFilter = Array(‘SECTION_ID’ => 55) – все элементы, которые лежат в папке с >Осталось лишь вывести информацию. Для этого используем цикл while с функцией GetNextElement() .И в результате применения функции GetFields() в массиве $arFields будут храниться отобранные по фильтру футболки со свойствами, добавленными в массив $arSelect .

Когда вы используете API в CMS Битрикс, очень часто вы не видите всех значений у свойства список. Или же, вы видите в цикле один и тот же товар, и сразу несколько выбранных значений, что тоже не очень удобно.

Как вывести все значения у множественного типа Список в Битриксе

В данном примере речь пойдет именно о множественном свойстве, с обычными свойствами таких проблем не возникает обычно. Что говорит нам документация для метода CIBlockElement::GetProperty :

Давайте немного изменим код во 2 строке, чтобы было более понятнее:

Вот, теперь более понятно. Первый параметр ID инфоблока, затем ID элемента, далее массив с сортировкой и наконец самый важный параметр — массив с фильтром.

Выбирать можно не только по символьному коду свойства, еще есть такие вот варианты:

Рассмотрим код немного сложнее. Сразу скажу, что он не претендует на премию «вау, как круто написано» :).
Чуть ниже я объясню что мы делаем и зачем:

У нас есть инфоблок с заполненными названиями и картинками, в моем случае это цвет автомобиля.

Тут внимательней, можно легко запутаться. $ob[‘DESCRIPTION’] — описание для картинки товара, и по этому описанию ищем элемент, который подходит по имени — «NAME» => $ob[‘DESCRIPTION’].

Дальше проще, используем CFile::GetPath — уже знакомую вам из данной статьи.

Ссылка на документацию для самых опытных и любопытных: https://dev.1c-bitrix.ru/api_help/iblock/classes/ciblockelement/getproperty.php

автор: Dmitriy

Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.

Какие услуги предоставляю:
— Создание сайтов, шаблонов и компонентов на 1С-Битрикс;
— Разработка функционала с нуля и доработка кода на уже созданных проектах;
— Адаптивная вёрстка макетов и натяжка на Битрикс;
— Парсинг файлов и выгрузка на сайт (форматы — CSV, XML, XLSX, JSON)
— Интеграции со сторонними сервисами по API;
— Многоязычные версии и многое другое.

Получение полей и свойств элемента по его pubdate> 20.04.2014

Чтобы вывести поля и свойства элемента по ID необходимо воспользоваться следующим кодом:

Комментарии (2)

Куда этот код вставлять то?

Туда, где будет вызываться свойство. Например, в шаблон компонента.

Оцените статью
Добавить комментарий