Документация для разработчиков

GetMixedList

CIBlockResult
CIBlockSection::GetMixedList(  array arOrder = Array("SORT"=>"ASC"),  array arFilter = Array(), bool bIncCnt = false, array arSelectedFields = false );

Возвращает список разделов и элементов, отсортированных в порядке arOrder по фильтру arFilter. Нестатический метод.

Параметры вызова

ПараметрОписаниеС версии
arOrder Массив для сортировки, имеющий вид by1=>order1[, by2=>order2 [, ..]], где by1, ... - поле сортировки, может принимать значения:

для элементов:
  • id - ID элемента;
  • sort - индекс сортировки;
  • timestamp_x - дата изменения;
  • name - название;
  • active_from или date_active_from - начало периода действия элемента;
  • active_to или date_active_to - окончание периода действия элемента;
  • status - код статуса элемента в документообороте;
  • code - символьный код элемента;
  • iblock_id - числовой код информационного блока;
  • modified_by - код последнего изменившего пользователя;
  • active - признак активности элемента;
  • show_counter - количество показов элемента (учитывается методом CIBlockElement::CounterInc);
  • show_counter_start - время первого показа элемента (учитывается методом CIBlockElement::CounterInc);
  • shows - усредненное количество показов (количество показов / продолжительность показа);
  • rand - случайный порядок;
  • xml_id или external_id - внешний код;
  • tags - теги;
  • created - время создания;
  • created_date - дата создания без учета времени;
  • cnt - количество элементов (только при заданной группировке);
  • property_<PROPERTY_CODE> - по значению свойства с числовым или символьным кодом PROPERTY_CODE (например, PROPERTY_123 или PROPERTY_NEWS_SOURCE);
  • propertysort_<PROPERTY_CODE> - по индексу сортировки варианта значения свойства. Только для свойств типа "Список" ;
  • catalog_<CATALOG_FIELD>_<PRICE_TYPE> - по полю CATALOG_FIELD (может быть PRICE - цена или CURRENCY - валюта) из цены с типом PRICE_TYPE (например, catalog_PRICE_1 или CATALOG_CURRENCY_3);
  • CATALOG_QUANTITY - общее количество товара;
  • CATALOG_WEIGHT - вес товара;
  • CATALOG_AVAILABLE - признак доступности к покупке (Y|N). Товар считается недоступным, если его количество меньше либо равно нулю, включен количественный учет и запрещена покупка при нулевом количестве;
  • PROPERTY_<PROPERTY_CODE>.<FIELD> - по значению поля элемента указанного в качестве привязки. PROPERTY_CODE - символьный код свойства типа привязка к элементам. FIELD может принимать значения:
    • ID
    • TIMESTAMP_X
    • MODIFIED_BY
    • CREATED
    • CREATED_DATE
    • CREATED_BY
    • IBLOCK_ID
    • ACTIVE
    • ACTIVE_FROM
    • ACTIVE_TO
    • SORT
    • NAME
    • SHOW_COUNTER
    • SHOW_COUNTER_START
    • CODE
    • TAGS
    • XML_ID
    • STATUS
  • PROPERTY_<PROPERTY_CODE>.PROPERTY_<PROPERTY_CODE2> - по значению свойства элемента указанного в качестве привязки. PROPERTY_CODE - символьный код свойства типа привязки к элементам. PROPERTY_CODE2- код свойства связанных элементов.
  • HAS_PREVIEW_PICTURE и HAS_DETAIL_PICTURE - сортировка по наличию и отсутствию картинок.


для разделов:
  • id - код группы;
  • section - код родительской группы;
  • name - название группы;
  • code - символьный код группы;
  • active - активности группы;
  • left_margin - левая граница;
  • depth_level - глубина вложенности (начинается с 1);
  • sort - индекс сортировки;
  • created - по времени создания группы;
  • created_by - по идентификатору создателя группы;
  • modified_by - по идентификатору пользователя изменившего группу;
  • element_cnt - количество элементов в группе, работает только если bIncCnt = true;
  • timestamp_x - по времени последнего изменения.
order1, ... - порядок сортировки, может принимать значения:
  • asc - по возрастанию;
  • desc - по убыванию.

Значение по умолчанию Array("SORT"=>"ASC") означает, что результат выборки будет отсортирован по возрастанию. Если задать пустой массив Array(), то результат отсортирован не будет.
arFilter Массив вида array("фильтруемое поле"=>"значение" [, ...]). Фильтруемое поле может принимать значения:

для элементов:
  • ID_1, ID_2 - по числовому коду (Число) от ID_1 до ID_2;
  • ACTIVE - фильтр по активности (Y|N); передача пустого значения ("ACTIVE"=>"") выводит все элементы без учета их состояния (Строка);
  • NAME - по названию (Маска);
  • CODE - по символьному идентификатору (Маска);
  • TAGS - по тегам (Маска);
  • EXTERNAL_ID - по внешнему коду (Маска);
  • TIMESTAMP_X_1, TIMESTAMP_X_2 - по времени изменения (Дата) от TIMESTAMP_X_1 до TIMESTAMP_X_2;
  • DATE_CREATE_1, DATE_CREATE_2 - по времени создания (Дата) от DATE_CREATE_1 до DATE_CREATE_2;
  • CREATED_USER_ID или CREATED_BY - по коду пользователя, добавившего элемент (Число);
  • DATE_ACTIVE_FROM_1, DATE_ACTIVE_FROM_2 - по дате начала активности (Дата) от DATE_ACTIVE_FROM_1 до DATE_ACTIVE_FROM_2. Формат даты должен соответствовать формату даты, установленному на сайте.;
  • DATE_ACTIVE_TO_1, DATE_ACTIVE_TO_2 - по дате окончания активности (Дата) от DATE_ACTIVE_TO_1 до DATE_ACTIVE_TO_2. Формат даты должен соответствовать формату даты, установленному на сайте.;
  • IBLOCK_ID - по коду информационного блока (Число);
  • CATALOG_AVAILABLE - признак доступности к покупке (Y|N). Товар считается недоступным, если его количество меньше либо равно нулю, включен количественный учет и запрещена покупка при нулевом количестве;
  • CATALOG_CATALOG_GROUP_ID_N - по типу цен;
  • CATALOG_SHOP_QUANTITY_N - фильтрация по диапазону количества в цене;
  • CATALOG_QUANTITY - по общему количеству товара;
  • CATALOG_WEIGHT - по весу товара;
  • SHOW_COUNTER - по количеству показов (Число);
  • SHOW_COUNTER_START - по времени первого показа (Дата);
  • WF_COMMENTS - по комментарию документооборота (Маска);
  • WF_STATUS_ID или WF_STATUS - по коду статуса документооборота (Число);
  • SHOW_NEW - если SHOW_HISTORY не установлен или не равен Y и SHOW_NEW=Y, то будут показываться ещё неопубликованные элементы вместе с опубликованными;
  • PROPERTY_<PROPERTY_CODE> - фильтр по значениям свойств, где PROPERTY_CODE - код свойства или символьный код. Для свойств типа "Список", "Число", "Привязка к элементам" и "Привязка к разделам" - Число. Для прочих - Маска;
  • PROPERTY_<PROPERTY_CODE>_VALUE - фильтр по значениям списка для свойств типа "список" (Маска), поиск будет осуществляться по строковому значению списка, а не по идентификатору;
  • CATALOG_<CATALOG_FIELD>_<PRICE_TYPE> - по полю CATALOG_FIELD из цены типа PRICE_TYPE (ID типа цены), где CATALOG_FIELD может быть: PRICE - цена, CURRENCY - валюта.
  • PROPERTY_<PROPERTY_CODE>.<FIELD> - фильтр по значениям полей связанных элементов. , где PROPERTY_CODE - ID или символьный код свойства привязки, а FIELD - поле указанного в привязке элемента.
для разделов:
  • IBLOCK_ID - по коду родительского информационного блока;
  • NAME - по названию (можно искать по шаблону [%_]);
  • CODE - по символьному коду (по шаблону [%_]);
  • EXTERNAL_ID - по внешнему коду (по шаблону [%_]);
  • SECTION_ID - по коду раздела-родителя;
  • ID_1, ID_2 - по кодам разделов от ID_1 до ID_2;
  • TIMESTAMP_X_1, TIMESTAMP_X_2 - по времени последнего изменения от TIMESTAMP_X_1 до TIMESTAMP_X_2;
  • DATE_CREATE_1, DATE_CREATE_2 - по времени создания от DATE_CREATE_1 до DATE_CREATE_2;
  • MODIFIED_BY - по коду пользователя изменившему раздел;
  • CREATED_BY - по создателю;
  • PROPERTY - по значениям свойств внутрилежащих элементов, PROPERTY - массив вида Array("код свойства"=>"значение", ...).

Необязательное. По умолчанию записи не фильтруются.
bIncCnt Возвращать ли поле ELEMENT_CNT - количество элементов в разделе. При этом arFilter дополнительно обрабатывает следующие фильтруемые поля:
  • ELEMENT_SUBSECTIONS - подсчитывать элементы вложенных подразделов или нет (Y|N). По умолчанию Y;
  • CNT_ALL - подсчитывать еще неопубликованные элементы (Y|N). По умолчанию N. Актуально при установленном модуле документооборота;
  • CNT_ACTIVE - при подсчете учитывать активность элементов (Y|N). По умолчанию N. Учитывается флаг активности элемента ACTIVE и даты начала и окончания активности.
Необязательный параметр, по умолчанию равен false.
arSelectedFields Массив для выборки. Задается только для элементов. 5.1.5

Возвращаемое значение

Возвращается объект CIBlockResult.

См. также



Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх