Понедельник, 19.02.2018, 22:35
Приветствую Вас Гость | RSS

Bitrix программирование

Категории раздела
Статистика



Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа

CIBlockElement::GetList

Каталог статей

Главная » Статьи » Программирование

CIBlockElement::GetList
CIBlockResult
CIBlockElement::GetList(
 array arOrder = Array("SORT"=>"ASC"),
 array arFilter = Array(),
 mixed arGroupBy = false,
 mixed arNavStartParams = false,
 array arSelectFields = Array()
);

Возвращает список элементов по фильтру arFilter.

Примечание: внутренние ограничения Oracle и MSSQL не позволяют использовать DISTINCT при фильтрации по полям типа blob, поскольку фильтрация по нескольким значениям множественного свойства может дать дублирование.  

Параметры функции

Параметр Описание
arOrder Массив вида Array(by1=>order1[, by2=>order2 [, ..]]), где by - поле для сортировки, может принимать значения:
  • id - ID элемента;
  • sort - индекс сортировки;
  • timestamp_x - дата изменения;
  • name - название;
  • active_from - начало периода действия элемента;
  • active_to - окончание периода действия элемента;
  • status - код статуса элемента в документообороте;
  • code - мнемонический код элемента;
  • iblock_id - числовой код информационного блока;
  • modified_by - код последнего изменившего пользователя;
  • active - признак активности элемента;
  • show_counter - количество показов элемента (учитывается функцией CIBlockElement::CounterInc);
  • show_counter_start - время первого показа элемента (учитывается функцией CIBlockElement::CounterInc);
  • shows - усредненное количество показов (количество показов / продолжительность показа);
  • rand - случайный порядок;
  • property_<PROPERTY_CODE> - по значению свойства с числовым или мнемоническим кодом PROPERTY_CODE (например, PROPERTY_123 или PROPERTY_NEWS_SOURCE);
  • catalog_<CATALOG_FIELD>_<PRICE_TYPE> - по полю CATALOG_FIELD (может быть PRICE - цена или CURRENCY - валюта) из цены с типом PRICE_TYPE (например, catalog_PRICE_1 или CATALOG_CURRENCY_3);
  • order - порядок сортировки, может принимать значения:
    • asc - по возрастанию;
    • desc - по убыванию;
    Необязательный. По умолчанию равен Array("sort"=>"asc")
arFilter Массив вида array("фильтруемое поле"=>"значения фильтра" [, ...]). "фильтруемое поле" может принимать значения:
  • ID - по числовому коду;
  • ACTIVE - фильтр по активности (Y|N); передача пустого значения ("ACTIVE"=>"") выводит все элементы без учета их состояния;
  • NAME - по названию (можно искать по шаблону [%_]);
  • CODE - по мнемоническому идентификатору (можно искать по шаблону [%_]);
  • EXTERNAL_ID - по внешнему коду (можно искать по шаблону [%_]);
  • PREVIEW_TEXT - по анонсу (можно искать по шаблону [%_]);
  • PREVIEW_TEXT_TYPE - по типу анонса (html|text);
  • PREVIEW_PICTURE - коду картинки для анонса;
  • DETAIL_TEXT - по детальному описанию (можно искать по шаблону [%_]);
  • DETAIL_TEXT_TYPE - по типу детальному описания (html|text);
  • DETAIL_PICTURE - по коду детальной картинки;
  • CHECK_PERMISSIONS - если установлен в "Y", то в выборке будет осуществляться проверка прав доступа к информационным блокам. По умолчанию права доступа не проверяются.
  • MIN_PERMISSION - минимальный уровень доступа, будет обработан только если CHECK_PERMISSIONS установлен в "Y". По умолчанию "R". Список прав доступа см. в CIBlock::SetPermission().
  • SEARCHABLE_CONTENT - по содержимому для поиска. Включает в себя название, описание для анонса и детальное описание (можно искать по шаблону [%_]);
  • SORT - по сортировке;
  • TIMESTAMP_X - по времени изменения (можно искать по шаблону [%_]);
  • MODIFIED_USER_ID - по коду пользователя, изменившего элемент;
  • DATE_CREATE - по времени создания;
  • CREATED_BY - по коду пользователя, добавившего элемент;
  • DATE_ACTIVE_FROM - по дате начала активности;
  • DATE_ACTIVE_TO - по дате окончания активности;
  • ACTIVE_DATE - непустое значение задействует фильтр по датам активности (DATE_ACTIVE_FROM и DATE_ACTIVE_TO). Если значение не установлено (""), фильтрация по датам активности не производится;
  • IBLOCK_ID - по коду информационного блока;
  • IBLOCK_CODE - по мнемоническому коду информационного блока (можно искать по шаблону [%_]);
  • IBLOCK_SITE_ID - по сайту;
  • IBLOCK_TYPE - по типу информационного блока (можно искать по шаблону [%_]);
  • IBLOCK_ACTIVE - по активности информационного блока(Y|N);
  • SECTION_ID - по родительской группе;
  • INCLUDE_SUBSECTIONS - если задан фильтр по родительским группам SECTION_ID, то будут также выбраны элементы находящиеся в подгруппах этих групп;
  • SHOW_COUNTER - по количеству показов;
  • SHOW_COUNTER_START - по времени первого показа;
  • WF_COMMENTS - по комментарию документооборота (можно искать по шаблону [%_]);
  • WF_STATUS_ID - по коду статуса документооборота;
  • SHOW_HISTORY - если установлен в значение "Y", то вместе с элементами будут выводится и их архив (история), по умолчанию выводятся только опубликованные элементы;
  • SHOW_NEW - если SHOW_HISTORY не установлен или не равен Y и SHOW_NEW=Y, то будут показываться ещё неопубликованные элементы вместе с опубликованными;
  • WF_PARENT_ELEMENT_ID - по коду элемента-родителя в документообороте для выборки истории изменений;
  • WF_NEW - флаг что элемент ещё ни разу не был опубликован (Y|N);
  • WF_LOCK_STATUS - статус заблокированности элемента в документооборте (red|green|yellow);
  • PROPERTY_<код свойства> - фильтр по значениям свойств (можно искать по шаблону [%_]);
  • PROPERTY_<код свойства>_VALUE - фильтр по значениям списка для свойств типа "список" (можно искать по шаблону [%_]), поиск будет осуществляться по строковому значению списка, а не по идентификатору;
  • CATALOG_<CATALOG_FIELD>_<PRICE_TYPE> - по полю CATALOG_FIELD из цены типа PRICE_TYPE (ID типа цены), где CATALOG_FIELD может быть: PRICE - цена, CURRENCY - валюта.
Перед названием фильтруемого поля можно указать тип проверки фильтра:
  • "!" - не равно
  • "<" - меньше
  • "<=" - меньше либо равно
  • ">" - больше
  • ">=" - больше либо равно
Значения фильтра - одиночное значение или массив значений.

Необязательное. По умолчанию записи не фильтруются. 
arGroupBy Массив полей для группировки элемента. Если поля указаны, то выборка по ним группируется, а в результат добавляется поле CNT - количество сгруппированных элементов. Если указать в качестве arGroupBy пустой массив, то функция вернет количество элементов CNT по фильтру. Группировать можно по полям элемента, а также по значениям его свойств. Для этого в качестве одного из полей группировки необходимо указать PROPERTY_<PROPERTY_CODE>, где PROPERTY_CODE - мнемонический код.
Необязательное. По умолчанию false - записи не группируются.
arNavStartParams Параметры для постраничной навигации и ограничения количества выводимых элементов. массив вида "Название параметра"=>"Значение", где название параметра
"nTopCount" - ограничить количество сверху
"bShowAll" - разрешить вывести все элементы при постраничной навигации
"iNumPage" - номер страницы при постраничной навигации
"nPageSize" - количество элементов на странице при постраничной навигации

Необязательное. По умолчанию false - не ограничивать выводимые элементы.
arSelectFields Массив возвращаемых полей элемента. Список полей элемента, а также можно сразу выводить значения его свойств. Обязательно должно быть использовано поле IBLOCK_ID, иначе не будет работать корректно. Кроме того, также  в качестве одного из полей необходимо указать PROPERTY_<PROPERTY_CODE>, где PROPERTY_CODE - ID или мнемонический код. В результате будет выведены значения свойств элемента в виде полей PROPERTY_<PROPERTY_CODE>_VALUE - значение; PROPERTY_<PROPERTY_CODE>_ID - код значения у элемента; PROPERTY_<PROPERTY_CODE>_ENUM_ID - код значения (для свойств типа список)
При установленном модуле торгового каталога можно выводить и цены элемента. Для этого в качестве одного из полей необходимо указать CATALOG_GROUP_<PROPERTY_CODE>, где PROPERTY_CODE - ID типа цены.

По умолчанию выводить все поля.

Примечание: если в массиве используются свойство, являющееся множественным, то для элементов, где используются несколько значений этого свойства, будет возвращено несколько записей вместо одной. Для решения этой проблемы инфоблоки нужно перевести в "инфоблоки+", в этом случае для свойства будет отдаваться массив значений. Либо можно не указывать свойства в параметрах выборки, а получать их значения на каждом шаге перебора выборки с помощью _CIBElement::GetProperties().
Категория: Программирование | Добавил: Shak (06.06.2010) W
Просмотров: 11688 | Теги: Bitrix api, CIBlockElement::GetList | Рейтинг: 0.0/0
Поиск

Shak © 2018
Копирование материала без указания автора и ссылки на сайт запрещается.
Если вы разместили материал у себя на сайте обязательно свяжитесь со мной shakleinserg{собака}gmail.com
Создать бесплатный сайт с uCoz