Anzeigen von Benutzern, die von einem Benutzer gekennzeichnet wurden, Benutzern, die einen Benutzer gekennzeichnet haben, und Knoten von Benutzern, die von einem Benutzer gekennzeichnet wurden

18

Ich habe ein Benutzer-Flag, das einer " Folgen " - oder " Abonnieren " -Funktion ähnelt .

Grundsätzlich möchte ich 3 viewsfür die user profileSeiten meiner Website erstellen:

  1. Eine Liste von Benutzern, die von einem Benutzer markiert wurden (z. B. ein Block "Personen, denen ich folge")
  2. Eine Liste von Benutzern, die einen Benutzer markieren (z. B. ein Block "Meine Fans" oder "Meine Follower")
  3. Eine Liste der Knoten aller Benutzer, die von einem Benutzer gekennzeichnet wurden (dh eine Newsfeed-Funktion, mit der ein Benutzer den gesamten neuen Inhalt der von ihm gekennzeichneten Benutzer anzeigen kann).

Würde mich über Hilfe oder Kommentare freuen!

Jamie Chang Liu
quelle
drupal.org/node/296971 hat nicht geholfen? Es ist zwar für D6, aber der allgemeine Ansatz sollte immer noch ziemlich ähnlich sein ...
Maciej Zgadzaj
Haben Sie jemals Lösungen für 2 und 3 gefunden? Ich habe mir den Kopf zerbrochen, um genau dieses Szenario herauszufinden.
Mrweiner
das ist etwas, was ich auch erreichen möchte.
user379468
Versucht dies auf D8 einzustellen. Irgendwelche Ideen?
Progonat

Antworten:

4

Besser spät als nie, um Fans zu gewinnen, können Sie:

  1. Erstellen Sie eine Ansicht der Typbenutzer.
  2. Beziehung erstellen Flaggen: Flaggen des Benutzers.
  3. An dieser Stelle sollten Sie "Nur Benutzer einschließen, die Inhalte markiert haben" entfernen.
  4. wählte deine Flagge.
  5. Fügen Sie den Kontextfilter "Flags: Content ID" hinzu.
  6. Stellen Sie sicher, dass Sie die Beziehung verwenden.
  7. WENN DER FILTERWERT NICHT VERFÜGBAR IST, geben Sie den Standardwert "Benutzer-ID des angemeldeten Benutzers" an.
Saadlulu
quelle
1

Das erste Szenario kann wie folgt erreicht werden (in Drupal 7)

  1. Fügen Sie die Beziehung "Flags: [Flag-Typ]" hinzu und setzen Sie "By" auf "Any user".
  2. Fügen Sie die Beziehung "Flags: User" hinzu. Stelle keine Optionen dafür ein.
  3. Fügen Sie den Kontextfilter "User: Uid" hinzu und setzen Sie ihn auf "Standardwert bereitstellen" "Benutzer-ID von URL".

Wenn Sie Panels verwenden, müssen Sie sicherstellen, dass Sie die UID an die Ansicht übergeben.

Lassen Sie mich wissen, wenn Sie Glück haben, und arbeiten Sie noch daran, die beiden anderen Szenarien herauszufinden

user379468
quelle
1

Ich hatte Mühe, Nummer 2 zu bekommen, aber dank dieser Antwort: Wie kann ich eine Ansicht erstellen, in der alle Benutzer angezeigt werden, die einen einzelnen Benutzer markiert haben?

  1. Erstellen Sie eine Ansicht der Benutzer
  2. Fügen Sie die Beziehung "Benutzerflaggen" hinzu und deaktivieren Sie das Kontrollkästchen "Nur Benutzer einschließen, die Inhalt markiert haben".
  3. Fügen Sie einen Kontextfilter "Flags: Entity ID" hinzu und wählen Sie die Methode aus, um einen Standardwert bereitzustellen. In meinem Fall erhalten Sie die Benutzer-ID von der URL.
Gillarf
quelle
So erstellen Sie eine Ansicht mit Inhalten von "Aktueller Benutzer" + "Inhalt von markierten Benutzern". Benutzer werden mit der Option "Folgen" gekennzeichnet. Beispiel: Wenn ich eine Ansicht mit "Inhalt nur von gekennzeichneten Benutzern" erstellen müsste, würde ich einfach eine Beziehung mit "Follow Flag" (Benutzer) hinzufügen und "Inhalt von gekennzeichneten Benutzern einschließen" aktivieren, aber es werden keine Inhalte von angezeigt aktueller Benutzer.
Umair
0

Ich glaube, ich habe herausgefunden, wie man Nummer 1 und 3 konfiguriert.

  1. Erstellen Sie eine Ansicht der Benutzer (anstatt der Inhalte).
  2. Fügen Sie die Flagge als Beziehung hinzu (die Flogfolge oder wie auch immer Sie sie nennen) und fügen Sie By "current user" hinzu. Dies sollte Ihnen eine Liste der Benutzer anzeigen, denen Sie folgen.
  3. Fügen Sie "User: Content Authored" als eine weitere Beziehung hinzu. Dadurch erhalten Sie eine doppelte Zeile für jeden Inhalt, den der Benutzer erstellt hat.

Jetzt sollten Sie in der Lage sein, Felder zu verwenden, um die gewünschten Informationen wegzulassen oder hinzuzufügen.

user379468
quelle
0

Ja, das ist die richtige Antwort, user379468!

Anstelle des dritten Punktes verwenden Sie:

  1. Fügen Sie den "User: Content Authored" hinzu
  2. Fügen Sie den Kontextfilter "User: uid" hinzu
  3. Fügen Sie die Beziehung "(Author) flags: (name_of_your_user_flag)" hinzu
pedja
quelle
0

Eine Liste von Benutzern, die einen Benutzer markieren (z. B. ein Block "Meine Fans" oder "Meine Follower")

  1. Erstellen Sie eine neue Ansicht basierend auf Benutzern.
  2. Beziehung hinzufügen Flags: Der markierte Inhalt des Benutzers
    • ACTIVE: Nur Benutzer einbeziehen, die Inhalt markiert haben.
    • Wählen Sie Ihren Flaggennamen

das ist es.

Vielleicht möchten Sie einen Filter hinzufügen, um Ihren eigenen Namen herauszufiltern.

blogook
quelle
funktioniert nicht, ich entschuldige mich.
Blogook