Как я могу встроить представление в содержимое узла?

8

Как я могу встроить представление в содержимое узла в Drupal 8?

Я нашел нечто похожее, например, в вопросе « Как встроить представление в узел? » Или в модуль Viewfield , но это все для Drupal 7.

Я пробовал с полем ссылки Entity, указывающим на View, но оно отображает только метку, и на вкладке Manage Display я могу выбрать только из Label и Entity ID . Мне нужно что-то вроде опции «Rendered entity», которая присутствует в ссылочных полях Entity, указывающих на другие узлы.

введите описание изображения здесь

Andrea
источник

Ответы:

9

Опция 1

Вы можете создать блок просмотра . Тогда блок просмотра будет доступен в разделе блоков. Присвойте блок просмотра области и покажите его на определенных страницах, если это необходимо.

введите описание изображения здесь

Вариант 2

Создайте файл шаблона ветки для своего узла и используйте

Twig Tweak

Модуль Twig Tweak предоставляет расширение Twig с некоторыми полезными функциями и фильтрами, которые могут улучшить опыт разработчика.

Пример: <dd>{{ drupal_view('view_name', 'page_1') }}</dd>

Вариант 3

Если вы используете Panels или Display Suite , вы можете встроить вид в виде поля.

Нет Sssweat
источник
Спасибо. Я только что попробовал Twig Tweak, и он отлично работает! .. Это было бы идеально для меня. Но мне нужно создать производственный веб-сайт, который должен быть стабильным, и я вижу, что этот модуль является довольно новым, всего 312 загрузок на данный момент. Знаете ли вы, надежно ли это и будет ли оно в хорошем состоянии?
Андреа
@ Андреа Я думаю, что это надежно, так как пока 0 сообщений об ошибках. Это очень новый неизвестный модуль, но я уверен, что количество людей, использующих его, будет увеличиваться по мере его обнаружения.
Нет Sssweat
2
Только разработчик модуля знает, что на самом деле @Andrea, остальные из нас могут только строить догадки или высказывать свое мнение, основываясь на своем опыте. Релиз помечен как стабильный и (якобы) активно поддерживается. Это столько информации, сколько мы можем дать здесь, но вы могли бы получить лучшие гарантии, если откроете «Готово ли это производство?» проблема в очереди модуля
Клайв
4

Я помогаю поддерживать ветку D8 в EVA , которая функционально похожа на ветку Twig Tweak , drupal_view()но работает как дисплей View, который присоединяется к указанным связкам сущностей как дополнительное поле . Это означает, что представление может быть переупорядочено в пользовательском интерфейсе управления отображением или, например, удалено в группу полей . Как и функция Twig Tweak, она позволяет передавать контекстные фильтры в качестве аргументов.

Вариант использования для EVA и для решения Twig Tweaks отличается от варианта использования ссылки на сущность с viewsreference, поскольку последний позволяет редакторам контента выбирать разные представления для каждой сущности. EVA и drupal_view()внедрить одно и то же представление в каждую сущность (хотя контекстные аргументы могут изменить результаты просмотра).

Если вы создаете сделанную на заказ тему, то, возможно, не будет никакого преимущества для EVA по сравнению с внедрением блока веток, но если вы хотите позволить сайтостроителям управлять представлением, как если бы оно было полем сущности, и настраивать его отображение с помощью пользовательского интерфейса, взгляд.

ahebrank
источник
2

Теперь есть также проект под названием viewsreference, который позволяет вам встраивать целые виды в узлы через поле (ссылка на сущность, но для полных представлений): https://www.drupal.org/project/viewsreference

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