Фильтр список
Данный фильтр представляет из себя список с предустановленными значениями. С настройками по-умолчанию имеет вид <select>.
| Параметр | Тип данных | Обязательный | По-умолчанию |
|---|---|---|---|
| Имя параметра фильтра (param_name) | string | + | – |
| Заголовок фильтра (title) | string | + | – |
| Список значений (choices) | map | + | – |
| Поле для поиска (field) | string | + | – |
| Раскрытый фильтр (expanded) | bool | – | false |
| Несколько значений (multiple) | bool | – | false |
| Первый пустой элемент (placeholder) | string | – | пустая строка |
Параметры
Имя параметра (param_name)
Обязательный параметр. Тип данных: string
Имя query параметра. Также под этим именем данный фильтр будет доступен в переменной searchForm.
Например:
param_name |
Пример запроса |
Доступ к объекту фильтра |
|---|---|---|
| foo | ?foo=bar | {{ searchForm.foo }} |
| somevalue | ?somevalue=123 | {{ searchForm.somevalue }} |
Заголовок (title)
Обязательный параметр. Тип данных: string
Заголовок фильтра.
Список значений (choices)
Обязательный параметр. Тип данных: map
Коллекция пар ключ => значение для выбора. Пример в нотации json:
{
"1": "Значение 1",
"2": "Значение 2",
"3": "Значение 3"
}
Также ключи могу быть не числовыми:
{
"one": "Значение 1",
"two": "Значение 2",
"three": "Значение 3"
}
В запросе к хранилищу товаров будет фигурировать именно ключ, поэтому его следует подбирать исходя из того, каким образом хранятся данные в хранилище.
Поле для поиска (field)
Обязательный параметр. Тип данных: string
Поле, по которому необходимо осуществлять поиск. Если поиск осуществляется по атрибуту типа товара "Список", то поле может иметь следующие значения, в зависимости от типа данных у атрибута:
| Тип данных атрибута | Значение |
|---|---|
| int | field-%n_p_i |
| string | field-%n_p_s |
где %n – идентификатор атрибута типа товара
Раскрытый фильтр (expanded) и возможность выбора нескольких значений (multiple)
В зависимости от настроек этих двух параметров, можно получить в HTML разные виды этого фильтра:
| Значение expanded | Значение multiple | Тип элемента в HTML |
|---|---|---|
| false | false | <select> |
| false | true | <select multiple="true"> |
| true | false | radio |
| true | true | чекбоксы |
Первый пустой элемент (placeholder)
Значение для пустого элемента.