News Ansicht mit Views erstellen möglich?
am 22.06.2016 - 09:58 Uhr in
Hallo Leute,
ich soll eine News-Ansicht erstellen, die ähnlich wie in anderen Social Media Plattformen die Aktionen der Freunde eines Users ausgibt.
Diese Aktionen können sein, dass jemand sein Profilbild erneuert hat, einen Freund hinzugefügt hat, einer Gruppe beigetreten ist, ein Artikel veröffentlich wurde, einen Kommentar geschrieben hat u.v.m.
Nun frage ich mich, ob sowas in Views möglich ist, da wir hier ja Ereignisse aus zig verschiedenen Base-Tables mit jeweils anderer Darstellung zeigen sollen. Das Erneuern eines Profilbildes soll folglich mit dem neuen Bild des Users dargestellt werden, das Hinzufügen eines Freundes wiederum mit dem Bild des neuen Freundes und der Möglichkeit dies zu kommentieren usw.
Deshalb die Frage: Macht es Sinn etwas derartiges in Views umzusetzen oder ist ein anderer Ansatz vielversprechender? Ich weiß nicht recht wie ich das angehen soll.
Ich hatte überlegt ein Modul zu schreiben welches eine Entity "Meldung" zum Beispiel anbietet mit einer DB-Tabelle die jeweils den User , Typ der Meldung sowie Entity ID auf welches sich die Meldung bezieht, speichert. Wenn der News-Feed geladen wird, werden entsprechend aus dieser Tabelle alle passenden Meldungen geladen und je nach Meldungs-Type verschieden gethemed. Diese Meldungen aktuell zu halten, scheint aber kompliziert zu sein. Wenn der User bspw. seinen Kommentar wieder löscht, soll folglich auch die Meldung bei seinen Freunden verschwinden.
Diese "Zwischentabelle" könnte also ein Problem sein.
Vorab vielen Dank für jeden Tipp!
- Anmelden oder Registrieren um Kommentare zu schreiben
Da es sich hier um die Darstellung von Ereignissen handelt
am 22.06.2016 - 11:48 Uhr
die aber nicht direkt einen Record in der Datenbank hinterlassen, wirst du ein wenig Hirnschmalz verwenden müssen.
Views ist aber ein Datenbankabfragemodul.
Ein Ansatz:
du machst für jede zu dokumentierende Aktion eine Rule, die einen Record erzeugt - am Ende also eine Report-Node oder ähnlich.
Diese Reports kannst du dann per Views aus der Datenbank lesen und entsprechend anzeigen.
Grüße
Ronald
da könnte es sich lohnen, …
am 22.06.2016 - 16:56 Uhr
wenn du dir mal das heartbeat modul anguckst.
Wenn du das selbst strickst, würde ich bei allen Aktionen, die erfasst werden sollen, eine entity mit rules erzeugen lassen. prädestiniert dafür ist message, du kannst aber auch eck nehmen. diese entity kannst du dann mit views als 'activity stream' ausgeben.
– 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