Фильтрация и работа с данными

1. Фильтрация через Источник данных для Multi Reference

Пример: На динамической странице книги можно добавить виджет со списком магазинов, где ее можно купить.

  1. На динамической странице книги добавьте виджет Collection и для него выберите в НастройкахИсточник данныхMulti Reference «Где купить», который связан с коллекцией «Магазины».

В виджете будут выводиться только те магазины, где есть данная книга.

  1. Привяжите к элементам внутри виджета соответствующие поля коллекции «Магазины». Например, «Название» и «Ссылка».

Готово! Теперь на динамической странице книги выводятся только те магазины, где она доступна.

2. Вывод данных через связанное поле для Reference

Можно подтягивать данные в элемент из полей связанной коллекции.

Например, на страницу книги можно добавить текстовое поле и вывести в него название жанра из коллекции «Жанры» с помощью опции Динамические данные в Настройках.

Готово! На динамической странице книги выводится ее жанр из коллекции «Жанры».

3. Фильтрация через параметр Фильтр

Эта функция подобна Фильтрации через Источник данных для Multi Reference, но имеет расширенные возможности.

Как добавить параметр Фильтр

  1. Выберите виджет Collection и добавьте Фильтр, нажав на «+».

  1. Настройте фильтр:

  • Поле «Фильтр по» — выберите поле типа Multi Reference, Reference или Элемент (например, «Жанр»).
  • Поле «Условие» — задайте условие (например, «Содержит любое из», «Содержит все из»).
  • Поле «Значение» — выберите значения для поля — можно выбрать одно или несколько (например, «Антиутопия», «Фантастика»).
  • Нажмите кнопку Добавить фильтр.

В поле «Значение» можно указать статическое значение (например, определенный жанр) или динамическое значение, которое зависит от текущего элемента (например, жанр текущего элемента). Подробнее о том, как это работает на практике, — ниже.

Условия, используемые в фильтрах

Выбор условий в фильтрах позволяет гибко управлять фильтрацией данных.

Краткое сравнения условий в фильтрах

Фильтр

Логика

Пример

Содержит любое из (Contains any of)

Есть хотя бы один элемент из списка

«Есть жанры из списка [Фэнтези, Приключения]»

Не содержит любое из (Doesn’t contain any of)

Не должно быть ни одного значения из списка

«Нет жанров из списка [Триллер, Ужасы]»

Содержится в (Is contained in)

Значение входит в указанный набор (значение в поле «Фильтр по» включено во множество из поля «Значение»)

«Автор книги содержится в списке авторов издательства»

Не содержится в (Isn’t contained in)

Есть хотя бы один элемент вне списка (значение в поле «Фильтр по» выходит за пределы множества из поля «Значение»)

«Автор вне списка авторов издательства»

Содержит (Contains)

Есть указанный элемент

«Есть жанр Фэнтези»

Не содержит (Doesn’t contain)

Не должно быть указанного элемента

«Нет жанра Триллер»

Содержит все из (Contains all of)

Все элементы списка присутствуют

«Есть жанры Фэнтези и Фантастика»

Не содержит все из (Doesn’t contain all of)

Не должны присутствовать все значения одновременно

«Нет одновременно жанров Фэнтези и Фантастика»

Равно (Equals)

Полное совпадение значения

«Автор = Виктор Пелевин»

Не равно (Doesn’t equal)

Значение совпадать не должно

«Автор ≠ Агата Кристи»

Заполнено (Is set)

Поле содержит данные

«Поле “Описание” заполнено»

Не заполнено (Isn’t set)

Поле пустое

«Поле “Описание” не заполнено»

Содержит любое из (Contains any of)

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

Значение в поле «Фильтр по»

Значение в поле «Значение»

Multi Reference

Multi Reference

Multi Reference

Статическое значение (≥ 1)

Пример:

Вывести книги, которые относятся к жанру «Фантастика» или «Фэнтези».

Коллекции:

  1. «Книги»: поле «Жанр» — Multi Reference на коллекцию «Жанры»
  2. «Жанры»: содержит информацию о жанрах

Не содержит любое из (Doesn’t contain any of)

Скрывает элементы, у которых выбранное поле имеет хотя бы одно из указанных значений.

Значение в поле «Фильтр по»

Значение в поле «Значение»

Multi Reference

Multi Reference

Multi Reference

Статическое значение (≥ 1)

Пример:

Скрыть книги, которые относятся к жанрам «Триллер» или «Детектив».

Коллекции:

  1. «Книги»: поле «Жанр» — Multi Reference на коллекцию «Жанры»
  2. «Жанры»: содержит информацию о жанрах

Содержится в (Is contained in)

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

Значение в поле «Фильтр по»

Значение в поле «Значение»

Reference

Multi Reference

Reference

Статическое значение (≥ 1)

Элемент

Multi Reference

Элемент

Статическое значение (≥ 1)

Пример:

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

Коллекции:

  1. «Книги»: поле «Автор» — Reference на коллекцию «Авторы»
  2. «Издательства»: поле «Авторы» — Multi Reference на коллекцию «Авторы»
  3. «Авторы»: содержит информацию об авторах

Не содержится в (Isn’t contained in)

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

Значение в поле «Фильтр по»

Значение в поле «Значение»

Reference

Multi Reference

Reference

Статическое значение (≥ 1)

Элемент

Multi Reference

Элемент

Статическое значение (≥ 1)

Пример:

На динамической странице издательства вывести книги авторов, которые с ним не сотрудничают (книги других издательств).

Коллекции:

  1. «Книги»: поле «Автор» — Reference на коллекцию «Авторы»
  2. «Издательства»: поле «Авторы» — Multi Reference на коллекцию «Авторы»
  3. «Авторы»: содержит информацию об авторах

Содержит (Contains)

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

Значение в поле «Фильтр по»

Значение в поле «Значение»

Multi Reference

Текущий элемент

Multi Reference

Reference

Multi Reference

Статическое значение (1)

Пример:

На динамической странице издательства показать книги всех издательств, которые можно купить в магазине «Дом книги».

Коллекции:

  1. «Книги»: поле «Где купить» — Multi Reference на коллекцию «Магазины»
  2. «Магазины»: содержит информацию о магазинах

Примечание: Если нужно получить только книги конкретного издательства, которые можно купить в данном магазине, то понадобится добавить второй фильтр (по издательству).

Не содержит (Doesn’t contain)

Скрывает элементы, у которых выбранное поле содержит указанное значение.

Значение в поле «Фильтр по»

Значение в поле «Значение»

Multi Reference

Текущий элемент

Multi Reference

Reference

Multi Reference

Статическое значение (1)

Пример:

На динамической странице издательства показать книги всех издательств, которые можно купить в других магазинах, кроме «Дома книги».

Коллекции:

  1. «Книги»: поле «Где купить» — Multi Reference на коллекцию «Магазины»
  2. «Магазины»: содержит информацию о магазинах

Содержит все из (Contains all of)

Показывает только те элементы, у которых выбранное поле содержит сразу все указанные значения.

Значение в поле «Фильтр по»

Значение в поле «Значение»

Multi Reference

Текущий элемент

Multi Reference

Reference

Multi Reference

Статическое значение (1)

Пример:

Показать книги, которые относятся одновременно к жанрам «Фантастика» и «Современная русская литература».

Коллекции:

  1. «Книги»: поле «Жанры» — Multi Reference на коллекцию «Жанры»
  2. «Жанры»: содержит информацию о жанрах

Не содержит все из (Doesn’t contain all of)

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

Значение в поле «Фильтр по»

Значение в поле «Значение»

Multi Reference

Текущий элемент

Multi Reference

Reference

Multi Reference

Статическое значение (1)

Пример:

Скрыть книги, которые относятся и одновременно к жанрам «Фантастика» и «Современная зарубежная литература».

Коллекции:

  1. «Книги»: поле «Жанры» — Multi Reference на коллекцию «Жанры»
  2. «Жанры»: содержит информацию о жанрах

Равно (Equal)

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

Значение в поле «Фильтр по»

Значение в поле «Значение»

Multi Reference

Статическое значение (≥ 1)

Reference

Статическое значение (1)

Элемент

Статическое значение (1)

Элемент

Reference

Reference

Текущий элемент

Reference

Reference

Multi Reference

Multi Reference

Пример:

Вывести книги автора «Виктор Пелевин».

Коллекции:

  1. «Книги»: поле «Автор» — Reference на коллекцию «Авторы»
  2. «Авторы»: содержит информацию об авторах

Не равно (Not equal)

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

Значение в поле «Фильтр по»

Значение в поле «Значение»

Multi Reference

Статическое значение (≥ 1)

Reference

Статическое значение (1)

Элемент

Статическое значение (1)

Элемент

Reference

Reference

Текущий элемент

Reference

Reference

Multi Reference

Multi Reference

Элемент

Текущий элемент

Пример:

Скрыть все книги автора «Агата Кристи».

Коллекции:

  1. «Книги»: поле «Автор» — Reference на коллекцию «Авторы»
  2. «Авторы»: содержит информацию об авторах

Заполнено (Is set)

Выводит только те элементы, у которых выбранное поле заполнено.

Пример:

Отобразить только книги, у которых есть описание.

Коллекция:

«Книги»: содержит поле «Описание»

Не заполнено (Isn’t set)

Выводит элементы, у которых выбранное поле не заполнено.

Пример:

Вывести только те книги, у которых поле «Где купить» не заполнено.

Коллекция:

«Книги»: содержит поле «Описание»

Статические и динамические значения в фильтрах

Если вы выбрали в поле «Значение» статическое значение (например, определенный жанр), то данные коллекции, которые выводятся на динамической странице, не будут меняться от страницы к странице. Чтобы данные менялись, нужно выбрать динамическое значение, которое зависит от текущего элемента.

Пример: на динамической странице книги можно вывести похожие книги, определяя их по жанру текущей книги.

  1. На динамической странице книги добавьте виджет Collection, привязанный к коллекции «Книги».

  1. Добавьте и настройте Фильтр.

  • Выберите поле типа Multi Reference (например, «Жанр»).
  • Задайте условие (например, «Содержит любое из», «Содержит все из»).
  • Выберите значение для поля Multi Reference — значение подкатегории текущего элемента (например, «Жанр текущего элемента»). Для некоторых фильтров вы также можете выбрать сам текущий элемент.
  • Нажмите кнопку Добавить фильтр.

Готово! Теперь на странице книги отображаются похожие книги, которые совпадают с ней по жанру.