Рейтинг:0

How can I use contextual filters to display a block with field values from a single related entity?

флаг pe

I've found various recipes/threads with the scenario where have a content type A node and want to display in a sidebar block, all the related content type B nodes, with the relationship based on an entity reference field on content type B. Example and another

I've attempted to adapt these instructions to my situation, without success. My case is sort of flipped.

Content type: Resource
Content type: Source
Entity reference field: On the Resource content type, named source_select

So I have a bunch of Resource nodes that have a single source selected for each.

What I want to do:

On each Resource node, I want to show info from fields of its one related Source in a sidebar block.

What happens:

For every combination of configuration options I've been able to think of or draw from other threads, etc., I get an empty block.

One example:

View display: block
View filter: published = yes
Contextual filter: Content: Source (field_select_source)
Provide default: enabled
Default type: Content ID from URL

I feel like I'm missing something obvious--and I've successfully built working contextual filter blocks before in D7, but I don't have any of those sites operating now and can't remember what the secret was and can't seem to crack it again now.

Рейтинг:0
флаг pe

Части встали на свои места после короткого сна.

Вот как ты это делаешь...

Концепции:

Контекстный фильтр будет отображать на боковой панели тот же узел ресурса (соответствует NID), загруженный как полный узел.

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

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

  1. Настройки для фильтрации текущего узла в блок Views на боковой панели:

Укажите значение по умолчанию: включено
Тип: "Идентификатор контента из URL"

Сохраните представление.

На этом этапе я провел небольшое тестирование, поместив nid в поле «Предварительный просмотр с контекстными фильтрами» под представлением. Работал, как ожидалось.

  1. Настройки отношения к источнику.

Взаимосвязь: Контент, на который ссылается field_select_source (важно: это не то же самое, что вариант «Контент, использующий...»).
Требовать это отношение: включено (может быть, это не обязательно, но для меня это имеет смысл и работает)

Примените и сохраните представление.

  1. Добавьте поля из источника и выберите «field_select_source: Content» в раскрывающемся списке «Отношения» для каждого поля.

Добавьте блок в область боковой панели для узлов ресурсов. Вот и все.

Результат: у каждого ресурса есть блок боковой панели, показывающий информацию об источнике.

Изменить: ответ Джейпана опубликован, пока я писал это. Это больше похоже на то, как отображать Ресурсы при просмотре Источника, что является обратной стороной отношений. Но, может быть, это тоже сработает.

Рейтинг:0
флаг de

Вы хотите создать представление исходных узлов, а затем установить контекстный фильтр для идентификатора ресурса. Таким образом, когда вы находитесь на странице ресурсов, идентификатор ресурса будет указан в URL-адресе. Контекстный фильтр будет использовать это, чтобы ограничить исходные узлы (которые показывает ваше представление) любыми источниками, на которые ссылается этот ресурс, который в вашем случае будет одним исходным узлом.Затем вы можете отобразить исходный узел либо как тизер (или создать собственный режим просмотра и использовать его), либо вы можете отобразить поля.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.