Внимание! Метод публичный, но он разработан для внутренних задач и категорически не рекомендуется к использованию.
Описание
CIBlockResult
CIBlockSection::GetMixedList(
array arOrder = Array("SORT"=>"ASC"),
array arFilter = Array(),
bool bIncCnt = false,
array arSelectedFields = false
);
Возвращает список разделов и элементов, отсортированных в порядке arOrder по фильтру arFilter. Нестатический метод.
Возвращаемое значение
Возвращается объект CIBlockResult.
Смотрите также
Параметры вызова
Параметр | Описание | С версии |
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 - по создателю;
Необязательное. По умолчанию записи не фильтруются. | |
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 |