Filtern nach Knoten, dessen Benutzer-ID dem aktuellen Benutzer entspricht

19

In Drupal 6 können Sie einen Filter haben node.uid = current user. Wie macht man das in Drupal 7?

George Marcotte
quelle

Antworten:

23

Sie müssen den Filter als "Kontext" (Erweitert) hinzufügen, in dem Sie ein Standardargument angeben können. Wenn Ihr Kontext für einen Benutzer bestimmt ist, wie der Autor des Knotens, können Sie Dinge wie die ID des angemeldeten Benutzers auswählen.

Bildschirmfoto

googletorp
quelle
1
Ich habe immer Beziehungen verwendet, werde mich aber auch mit Kontexten befassen. Aussicht ist fantastisch.
Citricguy
Gehe zu etwa 100 Ansichten ändern. :) Danke für die Details @googletorp.
Citricguy
1
Sie bemerken die erste Textzeile im Kontextfilter? "Wenn der Filterwert nicht in der URL enthalten ist", habe ich dies bereits versucht und es funktioniert, wenn die URL keine Benutzer-ID enthält, Benutzer a jedoch ein Benutzer b-Profil anzeigt. In dieser Ansicht wird Benutzer b verwendet id not users a
george marcotte
20

Sie müssen Ihre Ansicht bearbeiten, in die Spalte "Erweitert" (ganz rechts) wechseln und eine neue Beziehung hinzufügen.

Beziehung hinzufügen

Sie müssen insbesondere die Beziehung "Inhalt: Autor" hinzufügen.

Als nächstes müssen Sie unter "Filter" den Filter "Benutzer: Aktuell" hinzufügen.

Filter hinzufügen

Jetzt sollten Sie in der Lage sein, Inhalte zu filtern, die dem aktuell angemeldeten Benutzer gehören.

Citricguy
quelle
1
Während dieser Arbeit ist dies langsamer als die Verwendung von Kontextfiltern, da Sie einen Join erstellen müssen. Es ist wahrscheinlich nur ein paar ms langsamer, aber kein Grund, Ressourcen zu verschwenden.
googletorp
Dies spart viel mehr als ein paar ms bei einigen meiner Abfragen. :) Danke für die Abklärung.
Citricguy
-2

Sie können einfach hinzufügen

"Benutzer: Aktuell" in "Filter" -Kriterien.

Drock
quelle
Nicht genug Erklärung, damit die Leute ihr folgen können
Ben