Связи между коллекциями
Многоуровневые связи между коллекциями
Reference можно использовать для многоуровневых связей. Например, первая коллекция связана со второй, а вторая — с третьей. На динамической странице первой коллекции можно вывести данные из третьей коллекции.
Пример: Коллекция «Книги» связана с коллекцией «Авторы», а коллекция «Авторы» — с коллекцией «Издательства». На динамической странице книги можно вывести данные не только об авторе, но и об издательстве, с которым он работает.
Для этого в списке Динамические данные → Связанное поле выберите «Автор» → «Издательство» → «Название».
Готово! Теперь на динамической странице книги выводится информации об издательстве, с которым работает автор.
Вложенные коллекции
Вы можете добавлять один виджет Collection внутрь другого. Например, в виджете «Книга» можно разместить вложенный виджет с похожими книгами.
Количество уровней вложенности коллекций не ограничено — вы можете вкладывать во вложенную коллекцию еще одну коллекцию и т.д.
Как сделать вложенные коллекции
- Добавьте новый виджет Collection в Collection Item коллекции книг. Добавьте в него нужные элементы, например, Текст.
- Привяжите внутренний виджет к полю «С этой книгой читают».
Во вложенный виджет Collection можно вывести только данные с полей Multi Reference родительской коллекции.
- Привяжите элементы на холсте к соответствующим полям. Например, «Название книги» и «Автор» → «Имя и фамилия».
Готово! Теперь в каждом виджете книги выводится список похожих книг.
Пагинация во вложенных коллекциях
Вы можете добавлять пагинацию на любых уровнях вложенности коллекций.
Например, можно сделать пагинацию для списка книг в основном виджете Collection, связанном с коллекцией «Книги», и отдельную пагинацию для похожих книг во вложенном виджете.
Каждому уровню коллекции можно добавить разный тип пагинации — «Страницы», «Загрузить еще» или «Постраничная».
При нажатии на кнопку пагинации обновляется только область, связанная с текущей коллекцией. Это позволяет ускорить загрузку страницы и сделать взаимодействие с контентом более плавным — без перезагрузки всего блока или страницы.
Reverse Reference (Обратная связь)
Reverse Reference — обратная связь с коллекцией, которая ссылается на текущую коллекцию. Эта опция доступна для виджета Collection в поле Источник данных в Редакторе дизайна.
Например, если в коллекции «Книги» есть ссылка на коллекцию «Авторы», то у автора есть обратная связь со всеми книгами, которые на него ссылаются. Это позволяет выводить на странице автора связанные элементы — его книги.
Как настроить Reverse Reference
- На динамической странице связанной коллекции (в нашем примере — «Авторы») добавьте виджет Collection.
- На вкладке Настройки в поле CMS → Источник данных выберите опцию, которая показывает связь с коллекцией. В нашем примере — «Книги (Автор)».
Таким образом на странице будут выводиться только книги данного автора.
- Привяжите элементы внутри виджета Collection (например, тексты) к соответствующим полям коллекции — вкладка Настройки → Динамические данные → Связанное поле.
Готово! Теперь на динамической странице автора выводится список всех его книг.
Данные из Reverse Reference можно вывести не только на динамической странице, но и если добавить виджет Collection в другой виджет Collection на любой странице.
Reverse Reference недоступен в фильтрах.