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

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
Наверх