Views Felder filtern vom aktuellen user
am 05.03.2015 - 16:31 Uhr in
Hi! Ich verzweifel schon seit Tagen und hoffe mir kann hier jemand helfen.
Ich möchte mit Views Benutzer filtern anhand von Feldern mit Auswahlkästchen, die der current user ausgefüllt hat. Ich habe einen View "Benutzer" erstellt, der mir die Benutzernamen als Liste ausgibt. Ich habe bereits diverse Filter drin, unter anderem GetLocations mit Umkreissuche und auch das Alter, das ich mit hook_views_pre_view definiert habe. Jetzt möchte ich, dass ich ein Benutzerfeld angeben kann, die Einstellungen des aktuellen Users erkannt werden und diese dann mitgefiltert werden. Ich habe es bereits nach dieser Anleitung versucht aber das funktioniert nicht. Wenn ich einen Contextual Filter anlege mit einer default value "from logged in user" wird mir überhaupt nichts ausgegeben. Und bei Relationships werden auch die entsprechenden Felder nicht angezeigt.Ich habe schon etliche Varianten ausprobiert und komme einfach nicht weiter. Hat jemand eine Idee? Kann man das auch über hook_views_pre_view lösen?
Außerden irritiert es mich das das Feld einmal als "Feld:xyz" und einmal als "Benutzer: xyz" angezeigt wird.
Ich würde mich freuen, wenn mir jemand einen Tipp geben würde^^
Danke
- Anmelden oder Registrieren um Kommentare zu schreiben
Was hast du denn in deinem
am 09.03.2015 - 09:00 Uhr
Was hast du denn in deinem View für eine Basistabelle? Nodes oder user?
Wahrscheinlich musst du nicht direkt auf das Feld losgehen beim Filtern, sondern unter Filter nach "Benutzer: Aktuell".
Wenn dein View nodes zeigt, brauchst du im view unter Erweitert » Beziehungen den Autor des nodes, in dem dein Feld ist, um den aktuellen Benutzer in den Filter zu kriegen.
Falls meine Antwort daran vorbei sein sollte: Ich wurde nicht ganz schlau aus deiner Beschreibung.
Beste Grüße
Marco
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de
Hi
am 09.03.2015 - 13:34 Uhr
Hier noch mal ein Beispiel um das Problem zu verdeutlichen. Sagen wir im User-Profil gibt es die Frage: "Was ist Deine Lieblingsfarbe?" Antwortmöglichkeiten: ->blau, ->rot, ->grün. Kann Views mir alle User anzeigen, die die selbe Lieblingsfarbe haben wie der aktuelle User? Hat er zum Beispiel blau ausgewählt, dass alle User gezeigt werden die auch blau mögen.
Ich habe einen user-view erstellt. Bei den Feldern, die statisch gefiltert werden, wie zum Beispiel GetLocations funktioniert auch alles. Ich hätte gerne, dass views die Angaben in den Feldern des Benutzers erkennt und danach filtert. Bei den normalen Filtern muss ich ja einen Wert auswählen, anhand dessen er filtert. Ideal wäre es natürlich, wenn es bei den Auswahlmöglichkeiten eine Variante von "is equal to" -> "current user" gäbe. Jetzt weiß ich auch nicht weiter, da ich alle Möglichkeiten mit den erweiterten Einstellungen, also contextual filter und relationships schon ausprobiert habe, die mir in den Sinn kamen. Den Filter "Benutzer: Aktuell" hatte ich auch schon getestet, aber der hat mir nur den aktuellen User geladen und nicht die anderen User. Das hatte ich auch schon in zahllosen Kombinationen getestet.
Wenn Du weißt was ich meine und Dir noch etwas dazu einfällt, wäre ich Dir sehr dankbar ^^.
Aber ich glaube schon fast, dass Views bei meinem Projekt an seine Grenzen stoßen wird, da es noch etwas komplexer werden soll. Wahrscheinlich werde ich EntityFieldQuery benutzen und alles selbst schreiben o_O. Aber die Sache mit dem Views Filter lässt mir trotzdem keine Ruhe und wüsste zu gern, wie das funktionieren soll.
Ah, ok. Ich glaube nicht,
am 09.03.2015 - 19:54 Uhr
Ah, ok. Ich glaube nicht, dass du das in einem view unterkriegst, sehe aber die Möglichkeit, dass du einen view mit kontextfilter (der dynamisch die user mit der gleichen lieblingsfarbe o.ä. anzeigt) als views pane in einer Panels page (user page als panel aktivieren und anpassen) platzieren kannst, denn hier kannst du das bestimmt auch als Panels-Kontext ansetzen.
Guter Lernstoff dazu ist http://nodeone.se/en/learn-page-manager
– Grüße aus Franken –
"Eine Entscheidung ist dann eine gute Entscheidung, wenn Sie zu mehr Möglichkeiten führt.”
Heinz von Foerster (Kybernetiker)
www.bienlein-kommunikation.de