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

fetchSettingsFromQuery

array|null public static
\Bitrix\Main\UI\Filter\Options::fetchSettingsFromQuery(
 array $fields = array(),
 \Bitrix\Main\HttpRequest $request
);

Статический метод, получает значения полей из запроса. Метод возвращает массив значений или null в случае неудачи.

Параметры

ПараметрОписаниеВерсия
$fieldsМассив полей.

Каждое поле должно содержать обязательные свойства, а также может содержать и необязательные свойства, присущие конкретному типу поля (см. ниже пункт Свойства полей).
$requestЗапрос - объект класса HttpRequest

Свойства полей



Свойства всех типов полей:

Ключ Тип Обязательное Значение по умолчаниюОписание
id String Да Идентификатор поля. Например, NAME, USERNAME
name String Да Отображаемое название поля. Будет выводиться пользователю.
default Boolean Нет false Определяет, будет ли поле выводиться по умолчанию.
type Boolean Нет "string" Определяет тип поля.


Свойства полей в зависимости от типа:

(по умолчанию, без явно указанного типа, поля приводятся к типу “строка”)

  • string (строка)

    Для полей типа строка тип можно не указывать. Либо явно указать "string".

    Пример

  • list (список)

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

    Дополнительные свойства
    Ключ Тип Обязательное Значение по умолчаниюОписание
    params Array Нет array("multiple" => "N") Определяет параметры списка. Может содержать свойство multiple со значением "Y"|"N". Свойство определяет, будет ли список множественным.
    items Array Нет array("Не указано") Ассоциативный массив определяющий элементы списка.
    Примеры

  • custom_date (произвольная дата)

    Позволяет производить сложную фильтрацию по датам. Поле позволяет выбрать элементы, которые, например, были созданы 1-го числа в апреле и декабре, в 2012 и 2014 году.

    Пример

  • date (дата)

    Поля типа дата могут поддерживать несколько типов значений, объявленных в \Bitrix\Main\UI\Filter\DateType. Это “точная дата”, “диапазон”, “последние N дней” и т. п.

    Дополнительные свойства
    Ключ Тип Обязательное Значение по умолчаниюОписание
    time Boolean Нет false Включает поддержку времени.
    exclude Array Нет array() Определяет, какие типы значений исключить из текущего поля. Типы значений объявлены \Bitrix\Main\UI\Filter\DateType.
    Примеры

  • number (число)

    Поля типа число могут поддерживать несколько типов значений, объявленных в \Bitrix\Main\UI\Filter\NumberType.

    Пример

  • checkbox (чекбокс)

    Поле типа чекбокс реализует поле типа список с предустановленными элементами списка. Чекбокс, в отличии от нативного контрола, имеет три значения: “Да”, “Нет” и “Не выбрано”.

    Дополнительные свойства
    Ключ Тип Обязательное Значение по умолчаниюОписание
    valueType String Нет "" Определяет тип возвращаемого значения. Может принимать значение "numeric" или пустую строку. Если указано "numeric", то в качестве значения будет возвращаться 1|0, если не указано или указано значение, отличное от "numeric", то будет возвращаться Y|N.
    Пример

  • custom_entity (выбор сущности)

    Реализует пользовательский и программный интерфейс для взаимодействия с данными вне фильтра. Например, выбор сущности CRM, выбор группы, пользователя и т. п.

    Дополнительные свойства
    Ключ Тип Обязательное Значение по умолчаниюОписание
    valueType String Нет "" Определяет тип возвращаемого значения. Может принимать значение "numeric" или пустую строку. Если указано "numeric", то в качестве значения будет возвращаться 1|0, если не указано или указано значение, отличное от "numeric", то будет возвращаться Y|N.
    params Array Нет array("multiple" => "N") Определяет параметры поля. Может содержать свойство multiple со значением "Y"/"N", свойство определяет, будет ли поддержка множественного выбора.

    Пользовательский интерфейс реализован как текстовое поле с вставляемыми в него значениями.

    Программный интерфейс реализует набор Javascript событий и объект поля с набором методов для взаимодействия с ним.

    События:

    • customEntityFocus [Field:BX.Main.ui.CustomEntity] - срабатывает, когда поле находится в фокусе, обычно по этому событию рядом с полем показывают всплывающее окно с вариантами возможных значений поля.
    • customEntityBlur [Field:BX.Main.ui.CustomEntity] - срабатывает, когда поле потеряло фокус. Обычно по этому событию закрывают показанное ранее всплывающее окно. Событие не срабатывает, когда фокус переходит на всплывающее окно.
    • customEntityRemove [Field:BX.Main.ui.CustomEntity] - срабатывает, когда пользователь удалил поле.

    Методы:

    • BX.Main.ui.CustomEntity.setData (label:string, value:string|items:object[]) : void - устанавливает значение поля.
      Параметры поля с одиночным выбором значения
      Параметр Тип Обязательное Описание
      label String Да Значение, которое отображается пользователю.
      value String Да Значение, которое будет возвращено фильтром
      Параметры поля с поддержкой множественного выбора значений
      Параметр Тип Обязательное Описание
      item Object[] Да Массив объектов со свойствами label и value.
      value String Да Значение, которое будет возвращено фильтром.
    • BX.Main.ui.CustomEntity.setPopupContainer (container:HTMLElement) : void - устанавливает контейнер всплывающего окна, это необходимо для корректной обработки событий.
    • BX.Main.ui.CustomEntity.getCurrentValues () : object - возвращает текущее значение поля. Вернет объект со свойствами label, value.
    • BX.Main.ui.CustomEntity.getField () : ?HTMLElement - возвращает ссылку на корневой элемент поля.
    • BX.Main.ui.CustomEntity.getLabelNode () : ?HTMLInputElement - возвращает ссылку на элемент поля ввода.
    • BX.Main.ui.CustomEntity.isMultiple () : Boolean - проверяет, является ли поле множественным.
    Пример


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

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

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

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

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