Связи между коллекциями

Многоуровневые связи между коллекциями

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

Пример: Коллекция «Книги» связана с коллекцией «Авторы», а коллекция «Авторы» — с коллекцией «Издательства». На динамической странице книги можно вывести данные не только об авторе, но и об издательстве, с которым он работает.

Для этого в списке Динамические данныеСвязанное поле выберите «Автор» → «Издательство» → «Название».

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

Вложенные коллекции

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

Количество уровней вложенности коллекций не ограничено — вы можете вкладывать во вложенную коллекцию еще одну коллекцию и т.д.

Как сделать вложенные коллекции

  1. Добавьте новый виджет Collection в Collection Item коллекции книг. Добавьте в него нужные элементы, например, Текст.

  1. Привяжите внутренний виджет к полю «С этой книгой читают».

Во вложенный виджет Collection можно вывести только данные с полей Multi Reference родительской коллекции.

  1. Привяжите элементы на холсте к соответствующим полям. Например, «Название книги» и «Автор» → «Имя и фамилия».

Готово! Теперь в каждом виджете книги выводится список похожих книг.

Пагинация во вложенных коллекциях

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

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

Каждому уровню коллекции можно добавить разный тип пагинации — «Страницы», «Загрузить еще» или «Постраничная».

При нажатии на кнопку пагинации обновляется только область, связанная с текущей коллекцией. Это позволяет ускорить загрузку страницы и сделать взаимодействие с контентом более плавным — без перезагрузки всего блока или страницы.

Reverse Reference (Обратная связь)

Reverse Reference — обратная связь с коллекцией, которая ссылается на текущую коллекцию. Эта опция доступна для виджета Collection в поле Источник данных в Редакторе дизайна.

Например, если в коллекции «Книги» есть ссылка на коллекцию «Авторы», то у автора есть обратная связь со всеми книгами, которые на него ссылаются. Это позволяет выводить на странице автора связанные элементы — его книги.

Как настроить Reverse Reference

  1. На динамической странице связанной коллекции (в нашем примере — «Авторы») добавьте виджет Collection.

  1. На вкладке Настройки в поле CMSИсточник данных выберите опцию, которая показывает связь с коллекцией. В нашем примере — «Книги (Автор)».

Таким образом на странице будут выводиться только книги данного автора.

  1. Привяжите элементы внутри виджета Collection (например, тексты) к соответствующим полям коллекции — вкладка НастройкиДинамические данныеСвязанное поле.

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

Данные из Reverse Reference можно вывести не только на динамической странице, но и если добавить виджет Collection в другой виджет Collection на любой странице.

Reverse Reference недоступен в фильтрах.