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

Получение полной информации об элементах инфоблока с использованием ORM

Внимание! Все сообщения на форуме проходят модерацию. Ваше сообщение появится после проверки.
Получение полной информации об элементах инфоблока с использованием ORM

Задача: собрать полные данные об элементах инфоблока, применяя ORM/D7, который пришел на смену устаревшему CIBlockElement::GetList.
Код
// Примеры различных типов свойств
'PREFS_' => 'ATT_PREFS',    // Строковое свойство
'PHOTOS_' => 'MORE_PHOTO.FILE',    // Свойство-файл
'PROCESSOR_' => 'ATT_PROCESSOR.ITEM',     // Свойство-список
'RELATED_' => 'ATT_RELATED.ELEMENT',    // Привязка к элементам
'BRANDS_' => 'ATT_RELATED.SECTION',     // Привязка к разделам
'MULTIPLE_' => 'ATT_MULTIPLE.VALUE'    // Множественное свойство

Пример использования в видеоуроке
https://bazarow.ru/video/video_new/seazon_2_2024/component-users-bulletins/
Метод Iblock::wakeUp естественно не документирован в Битрикс (((
Скудно, но все таки в примерах встречается, в новой документации
Описанный подход имеет два недостатка:
1) если свойство элемента - множественное, то в результирующем массиве данный элемент повторяется столько раз, сколько значений есть у этого свойства. Как этого избежать, не написано.
2) в результирующий массив попадает множество ненужных значений у каждого свойства. Например, для свойства типа "привязка к элементам" получаем значения _ID, _TIMESTAMP_X, _MODIFIED_BY, _DATE_CREATE, _CREATED_BY, _IBLOCK_ID, _IBLOCK_SECTION_ID и все остальные стандартные поля элемента. Если нужно получить только значение свойства типа "привязка к элементам", то в массиве SELECT метода GETLIST нужно указать не ATT_RELATED.ELEMENT, а ATT_RELATED.ELEMENT.NAME. Об этом также не написано.
Да, со множественными свойствами все сложенее (как и обычно).
Дописал в заметку как быть с ними.
По второму моменту, тут да, нужно работать с тем что есть - больших проблем не должно вызывать
Форма ответов
 
Текст сообщения*
Перетащите файлы
Ничего не найдено
Загрузить файлы
 

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