Views - Filter-Criteria: Abhängigkeit zwischen Taxonomy-Terms und Roles herstellen

am 06.01.2025 - 23:23 Uhr in
Hallo zusammen,
ich möchte gerne durch die Auswahl einer User-Role (definiert durch People/Role) aus einem Drop-Down die Auswahlmöglichkeiten in einem zweiten Drop-Down auf bestimmte Terms einer Taxonomy begrenzen, damit die lange Liste im zweiten Drop-Down handhabbar wird.
Im Endeffekt möchte ich so eine hierarchische User-Role-Struktur bauen, die dann über eine Views Page gefiltert werden kann.
Exemplarisches Beispiel:
DD1 (Roles):__________ DD2 (Taxonomy-Terms):
> Agencies____________ > Art Agency
> Communities_________ > Event Agency
> Other Companies_____ > Community 1
_____________________ > Community 2
_____________________ > Other Company 1
_____________________ > Other Company 2
=> Also: Bei Auswahl "Agencies" in DD1 sollen in DD2 nur noch die beiden Agencies angezeigt werden. Abschließend, die Suche Starten.
=> Was habe ich bisher gemacht:
a) Better Exposed Filters ist installiert
b) Der Taxonomy für DD2 ein Field für "Role" (author) hinzugefügt -> Referency Entity
b) Einige neue Terms in der Taxonomy testweise erstellt und dabei im neuen Feld "Roles" eine Rolle als Abhängigkeit zugewiesen.
=> Das Problem
Wenn ich nun z.B. in DD1 "Agencies" auswähle hat das keinen Einfluss auf die Auswahlmöglichkeiten in DD2. Es werden immernoch alle Möglichkeiten gelistet --> Was habe ich vergessen einzurichten?
=> Zusatzinfo
Es gibt bereits Drop-Down-Abhängigkeiten auf der Views-Page die auf Taxonomy zu Taxonomy beruhen und funktionieren.
Wenn hier im ersten DD eine Auswahl getroffen wird, "lädt" die Seite neu und im zweiten DD ist dann die Auswahl eingeschränkt.
Im Fall oben (Role zu Taxonomy) lädt die Seite bei einer Auswahl in DD1 jedoch nicht neu.
CDN ist derzeit deaktiviert.
Es gibt wohl noch eine Search API auf der Website - ob und wie diese in Verwendung ist, ist mir nicht bewusst.
Unter Views/Advanced/Relationship ist das Feld "author" hinzugefügt
Exposed Filter Widget ist für DD2 als "Select2" definiert
Filter-Criteria DD1 & DD2 in Views haben die Relationship "author"
Ich suche eine Lösung für dieses Scenario, weil die Website von Diensteilstern in meinem Auftrag erstellt worden ist, ich jetzt aber vieles selber weitermachen möchte, dabei aber auch nicht alles auf "Null" stellen möchte.
Ich hoffe jemand kann mir mitteilen, was ich vergessen habe einzurichten, damit die Abhängigkeit vom DD "Roles" zum DD "Taxonomy" funktioniert.
Viele Grüße
Tom
- Anmelden oder Registrieren um Kommentare zu schreiben
Hi, hat ggf. jemand einen
am 19.01.2025 - 18:17 Uhr
Hi,
hat ggf. jemand einen ersten Ansatz/Idee?
Wäre sehr hilfreich :-)
Viele Grüße
Tom
Zu schwer für DrupalCenter ? ;-)
am 15.02.2025 - 17:36 Uhr
Schade,
leider hat sich noch keiner gemeldet.
Ich könnte hier wirklich Hilfe gut gebrauchen.
Naja, vielleicht findet sich ja noch wer ...
Viele Grüße
Tom
Das ist nicht so einfach wie
am 15.02.2025 - 19:51 Uhr
Das ist nicht so einfach wie Du vielleicht meinst. Deine Dropdowns sind in einem Formular und beide geladen. Jetzt willst Du durch Auswahl im ersten Feld das zweite ändern. Dazu mußt Du, sobald eine Auswahl in Feld eins getroffen wurde, einen Ajax-Call mittels JavaScript triggern. Darin rufst Du eine Funktion in einem eigenen Modul auf, das die Selection für Feld zwei neu erstellt und an das JavaScript zurück gibt, welches dann das Feld im Formular neu befüllt. Bitte dabei auch bedenken, daß der Call und das Aufsetzen der neuen Select-Liste nicht in Nullzeit passiert.
Hallo wla, Vielen Dank für
am 16.02.2025 - 21:43 Uhr
Hallo wla,
Vielen Dank für die Hinweise.
Das es nicht ganz einfach ist, hatte ich schon befürchtet.
Wird der Ajax-Call benötigt, weil das 1. Dropdown-Menü "User-Rollen" beinhaltet und keine Taxonomy-Liste ist?
Ich frage, weil ein Ajax-Call scheinbar nicht benötigt wird, um durch Auswahl in einem Taxonomy-Dropdown die Auswahl in einem anderen Taxonomy-Dropdown zu beeinflussen (es erfolgt eine kurze Ladezeit, um den Inhalt des 2. Dropdowns anzupassen). Das gibt es nämlich auf meiner Such-Website bereits und funktioniert. Ajax ist in den Advance-Settings der "View" dabei bisher auch nicht aktiviert.
Die "View" dieser Such-Website beinhaltet viele Dropdown-Menüs, um die Suchanfrage zu spezifizieren - ähnlich wie auf Gebrauchtwagen-Portalen.
In der Regel beieinflusst dabei ein Taxonomy-Dropdown die Auswahl eines weiteren Taxonomy-Dropdwon-Menüs.
Nur in einem Fall, dem hier beschriebenen Fall, ist das Trigger-Dropdown-Menü keine Taxonomy-Liste, sondern eben eine Liste der vorhandenen User-Rollen und die Auswahl basiert auf dem entsprechenden Field.
Daher habe ich keine Ahnung was passiert wenn ich jetzt Ajax in dieser "gemischten" View aktivere.
Kann man Ajax in der View einfach mal testweise aktivieren oder zerschieße ich mir damit ggf. etwas auf meiner Website?
Viele Grüße
Tom
auch hier; schon mal das
am 18.02.2025 - 21:50 Uhr
auch hier; schon mal das ECA-Modul probiert? Die Doku/Anleitung (soweit ich sehe ..) gibts aber nur in Englisch (britisches Englisch, natürlich ;-)
https://www.drupal.org/project/eca
Hallo Franz, danke für den
am 18.02.2025 - 22:38 Uhr
Hallo Franz,
danke für den Tipp. Sieht vielversprechend aus allerdings läuft meine Website auf Drupal 8.9.13 und ECA-Modul verlangt min. 9.5, wenn ich das richtig gesehen habe.
Viele Grüße
Tom
D8.x ?
am 28.02.2025 - 15:55 Uhr
da würde ich eher schauen was ein Upgraden bremst, bevor es an Feinheiten geht (.. oder Energie in eine quasi eingefrorene Version fließt).
Upgrade-Status hilft da doch weiter. lohnte sich für mich bisher immer.