Views filtern nach dem Value eines Fields einer referenzierten Node
am 25.07.2021 - 19:11 Uhr in
Hey Leute,
ich möchte mit Drupal ein Ticket-System bauen. Hier mein Views-Problem an dem ich nun schon über 50h sitze. Es wäre toll, wenn mich endlich jemand erlösen könnte. :)
Vorweg: Beide Referenz-Felder werden mit dem Modul "Corresponding Entity Reference" automatisch synchronisiert..
Content-Typ: Projekt
- Field: Title
- Field: Tickets (Node Reference)
Content-Typ: Ticket
- Field: Title
- Field: Project (Node Reference)
- Field: Status (Open/Work/Done)
Hier nun was ich von meiner View gerne hätte
Ich kann zwar auf das Feld "Status" über Relationships zugreifen und unter "Rewrite Output" der Ticket-Titles könnte ich ja dann theoreeetisch den Status-Value vorher prüfen bevor der Ticket-Title ausgegeben wird, funktioniert aber nicht.
Habt ihr eine Idee? Das wäre großartig!
Cheers,
SE64
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich bin keinesfalls sicher,
am 26.07.2021 - 07:30 Uhr
Ich bin keinesfalls sicher, ob ich das richtig verstehe.
Evt. könntest Du das mit dem Modul Views Field View machen.
D.h. Du baust drei Ansichtn von Ticktes mit jeweils unterschiedlichen Filtern auf Status.
Und Du baust eine View über projekt, wo Du drei Felder mit Global View einbindest, die die referenzierenden Tickets nid's als Argument bekommen.
Die Felder werden so eingestellt, dass sie leer bleiben, wenn die View auf Ticket mit einem bestimmten Status leer bleibt.
Das Modul https://www.drupal.org/project/views_field_view ist beta, aber bei mir ohne Probleme unter D9 im Einsatz.
Wenn Du so ein Modul vermeiden möchtest, gäbe es sicher noch Möglichkeiten mit kleinem Modul oder Twig im Template.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Hey Regina!Vielen Dank
am 26.07.2021 - 08:41 Uhr
Hey Regina!
Vielen Dank schonmal. Mit dem Modul "Views Field Views" habe ich schon herumgespielt, bisher hatte ich aber noch keinen Erfolg. Ich werde das aber mal nochmal versuchen.
Der einzige Punkt den ich nicht verstehe ist:
die die referenzierenden Tickets nid's als Argument bekommen.
Wie funktioniert das genau?
Bisher habe ich:
Hauptview: Projekte
- Field: Title
- Field: Global View "Tickets (Done)"
Zusatz-View: Tickets (Done) als Block
- Field: Title
- Filter: Status: Done
Ergebnis in der Hauptview
In einer Tabelle erscheinen alle Projekte und für jedes Projekt werden all die Tickets der Website angezeigt, welche den Status "done" haben. Ich vermute jetzt muss ich irgendwie einen Kontext herstellen, damit nur die zum Projekt zugehörigen Tickets angezeigt werden? Daran hapert es noch.
Muss ich in der Hauptview jetzt nochmal das Feld mit den referenzierten Tickets einbinden um damit irgendwas anzustellen?
Vielen Dank,
SE64
In den Views, die Du mit dem
am 26.07.2021 - 09:46 Uhr
In den Views, die Du mit dem Modul in die Haupt-View einbindest, musst Du einen Context-Filter für die Id setzen (Nid).
Und einen normalen Filter auf den Status.
In der View über die Projekte musst Du ein auf unsichtbar gestelltes Feld mit der ID der referenzierten Tickets machen.
Angenommen das Feld heißt {{ nid }}, dann kannst Du im Feld Global View als Argument {{ nid }} verwenden.
Bzw. Du musst an der Stelle versch. Dinge probieren, ich weiß nicht mehr genau, was bei mir geholfen hat.
Ich glaube sowas in der Art {{ raw_fields.nid }}
Schau einfach mal, was unter "Ersetzungsmuster" angeboten wird.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de
Hey,also bei "Views Field
am 26.07.2021 - 10:37 Uhr
Ahh! Es klappt! Wie toll.
Musste noch ein wenig herumspielen. Das referenced-tickets feld musste ich so einstellen, dass wirklich nur die IDs ausgegeben werden. Und dann konnte ich diese IDs als Argument verwenden.
Vielen vielen Dank für deine Hilfe. Du hast einer NGO für Entwicklungshilfe damit sehr geholfen. :)
Lieben Gruß,
SE64
Das freut mich sehr."NGO für
am 26.07.2021 - 10:45 Uhr
Das freut mich sehr.
"NGO für Entwicklungshilfe"
Neulich habe ich mit Drupal 9 die Webseite für ein Permakultur-Projekt in Kenia programmiert, als non profit Projekt (statt Spende).
Als ganz sicher in meinem Sinne. ;-)
Kannst ja mal zeigen, wenn es fertig ist.
LG Regina Oswald
-------------------------
Montviso - Internetdienstleistungen
http://www.montviso.de