Puncte:0

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

drapel 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.

Puncte:0
drapel pe

Bucățile au căzut la loc după un pui de somn scurt.

Iată cum o faci...

Concepte:

Filtrul contextual va fi afișat în bara laterală același nod de resurse (se potrivește cu NID) încărcat ca nod complet.

Este necesară o relație pentru a afișa datele de câmp pentru Sursa aferentă. În această situație, nu filtrați deloc contextual pe Sursă.

Pentru mine, cel mai bine a funcționat să le setez în această ordine.

  1. Setări pentru a filtra nodul curent într-un bloc Vizualizări din bara laterală:

Furnizați valoarea implicită: activat
Tastați: „Content ID from URL”

Salvați vizualizarea.

În acest moment, am făcut un pic de testare punând un nid în câmpul „Previzualizare cu filtre contextuale” de sub View. A funcționat conform așteptărilor.

  1. Setări pentru relația cu sursa.

Relație: conținut referit din field_select_source (important: aceasta nu este același lucru cu opțiunea „Conținut folosind...”)
Solicitați această relație: activată (s-ar putea să nu fie necesar, dar a avut sens pentru mine și funcționează)

Aplicați și salvați vizualizarea.

  1. Adăugați câmpuri din Sursă și alegeți „field_select_source: Content” în meniul drop-down Relație pentru fiecare câmp.

Adăugați blocul în regiunea barei laterale pentru nodurile de resurse. Asta e.

Rezultat: Fiecare resursă are un bloc lateral care arată informațiile sursă.

Edit: răspunsul lui Jaypan a fost postat în timp ce scriam asta. Sună mai degrabă cum să afișați Resurse în timp ce vizualizați Sursa, care este reversul relației. Dar poate că și asta poate funcționa.

Puncte:0
drapel de

Doriți să creați o vizualizare a nodurilor sursă, apoi să setați un filtru contextual pentru ID-ul resursei. În acest fel, atunci când vă aflați pe o pagină de resurse, ID-ul resursei va fi în adresa URL. Filtrul contextual va folosi acest lucru pentru a limita nodurile sursă (pe care vizualizarea dvs. le arată) la orice sursă la care face referire acea resursă, care în cazul dvs. va fi un singur nod sursă.Apoi puteți afișa nodul Sursă fie ca un teaser (sau creați un mod de vizualizare personalizat și utilizați-l), fie puteți afișa câmpuri.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.