Ergebnis 1 bis 9 von 9

Thema: Kommentarfunktion mit Bewertung - Best Practice

  1. #1
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    497

    Standard Kommentarfunktion mit Bewertung - Best Practice

    Hallo zusammen,

    bisher ist auf der Detailseite eines Datensatzes ein Formular eingebunden über das ein Kommentar in mm_kommentare gespeichert wird. Im letzten Formularschritt ist das attr_rating des Datensatzes eingebunden.

    Der große Nachteil dieser Methode ist, dass ich zu den einzelnen Kommentaren keine Bewertung hab. Es gibt nur eine Gesamtbewertung für den Datensatz.

    Meine Idee war nun die mm_kommentare um ein select auf z.B. mm_bewertung zu erweitern. In mm_bewertung ist lediglich 1,2,3,4,5 enthalten. Das ganze dann nicht mehr über Formular sondern FEE. Das Problem daran wäre dann nur die Gesamtsumme über alle Kommentare zu bilden.

    Ich hoffe ihr könnt mir soweit folgen

    Wie ist eure Meinung. Gibt es vllt. einfachere Möglichkeiten das zu realisieren? Formular oder FEE?

    Danke + Gruß Marco

  2. #2
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    Soweit ich das verstehe hast Du ein Model mm_locations mit den Detailinformationen auf der Seite und Model mm_kommentare.

    @Webstylerin: das würde ich z. B. mal als Kindtabelle anlegen im Sinne der "MM-Definition", d.h mm_komentare als Kindtabelle von mm_locations (Auswahl "Elternelement vorhanden" nicht vergessen) - dann sind alle Kommentare über die pid genau einer Location zugeordnet... was ja Sinn macht.

    Bei mm_kommentare würde ich dann auch das Attribut Rating einbinden - ggf. statt der Sternchen einen Daumen und Anzahl auf der Icons auf 1.

    Du wirst sicher die Kommentare mit auf der Detailseite ausgeben - dann können die einzelnen Kommentare wiederum von anderen Lesern bewertet werden.

  3. #3
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    497

    Standard

    Glaub du hast es noch nicht ganz verstanden

    Derjenige der kommentiert soll mit absenden des Kommentars auch eine Bewertung in Form von 1-5 Sternen abgeben.
    Die Kommentare werden aufgelistet und zu jedem Kommentar die abgegebenen Sterne.
    Über alle abgegebenen Sternebewertungen muss eine Gesamtbewertung gebildet werden, die dann idealerweise in einer neuen Spalte (bewertung) unter mm_locations gespeichert werden muss und in dem Fall bei jeder Kommentarabgabe neu berechnet werden muss.
    Geändert von marcohe (23.01.2024 um 12:33 Uhr)

  4. #4
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    o.k. - etwas anders aber m. E. nicht so viel...

    Den Aufbau würde ich wie oben beschrieben machen mm_location als Elterntabelle und mm_kommentare als Kind. Wenn die Kommentare nicht wieder geändert werden sollen ("one-way"), dann würde ich das als Formular machen und Speicherung per Hook. In mm_kommentare kommt ein Attribut "ranking" in dem die Zahl der Sterne steht.

    Warum sollen die Bewertungsdaten als "Zusammenfassung" in das Item der Location? Generell ist eher davon abzuraten, ein Datum mehrfach in der DB abzulegen - über die Summenbildung aller Sterne der Kinder hast Du den Wert und zudem auch noch die Anzahl der Kommentare.

    Solltest Du versuchen darüber eine Bewertung der Location bzw. ein Ranking zu machen, so ist das nochmal eine eigene "Wissenschaft" für sich - siehe z. B. https://www.rangevoting.org/, https://de.wikipedia.org/wiki/Bewertungswahl, https://de.wikipedia.org/wiki/Vorzugswahl also z. B. die Antwort auf die Frage wenn eine Location 5 Sterne bekommen hat und eine andere 2x 5, 1x 4 und 1x 3 - die erste Location hat als Durchschnitt 5 Punkte und die zweite nur 4,25 - welche würdest Du an Pos. 1 setzen?

    btw: bei mm_kommentare könnte man noch die IP als Hash ablegen, um mehrfache Kommentare etwas einzugrenzen - sofern die Kommentierenden nicht eh eingeloggt sein müssen

  5. #5
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    497

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    Warum sollen die Bewertungsdaten als "Zusammenfassung" in das Item der Location? Generell ist eher davon abzuraten, ein Datum mehrfach in der DB abzulegen - über die Summenbildung aller Sterne der Kinder hast Du den Wert und zudem auch noch die Anzahl der Kommentare.
    In das Item der Location soll nur die Summe der Bewertung als Zahl z.B. 4,5
    Darüber könnte ich dann Filtern und das Ranking machen.


    Zitat Zitat von zonky Beitrag anzeigen
    Solltest Du versuchen darüber eine Bewertung der Location bzw. ein Ranking zu machen, so ist das nochmal eine eigene "Wissenschaft" für sich - siehe z. B. https://www.rangevoting.org/ also z. B. die Antwort auf die Frage wenn eine Location 5 Sterne bekommen hat und eine andere 2x 5, 1x 4 und 1x 3 - die erste Location hat als Durchschnitt 5 Punkte und die zweite nur 4,25 - welche würdest Du an Pos. 1 setzen?
    Pos. 1 hat die mit 5 > der Einfachheit wegen

    Zitat Zitat von zonky Beitrag anzeigen
    btw: bei mm_kommentare könnte man noch die IP als Hash ablegen, um mehrfache Kommentare etwas einzugrenzen - sofern die Kommentierenden nicht eh eingeloggt sein müssen
    Ja. Das habe ich bisher schon drin inkl. memberID falls eingeloggt

  6. #6
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    In das Item der Location soll nur die Summe der Bewertung als Zahl z.B. 4,5
    Darüber könnte ich dann Filtern und das Ranking machen.

    Für die Durchschnittsberechnung musst Du entweder in mm_location auch die Anzahl der bisherigen Stimmabgaben ablegen oder Du speicherst die Sterne in mm_kommentare und berechnest den Wert über alle zum Item gehörenden Kommentare in dem "Speicher-Hook" neu.

    Ich würde eher eine eigene Filterregel dafür bauen - wie das geht, steht hier im Vortrag CK 2023

    ... über die Aussagekraft des Rankings brauche ich mich ja nicht weiter auslassen

  7. #7
    Contao-Fan
    Registriert seit
    20.10.2014.
    Beiträge
    497

    Standard

    Zitat Zitat von zonky Beitrag anzeigen
    ... über die Aussagekraft des Rankings brauche ich mich ja nicht weiter auslassen
    Im Prinzip hatt das attr_rating genauso wenig Aussagekraft sollte man darüber ein Ranking machen

  8. #8
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    Im Prinzip hatt das attr_rating genauso wenig Aussagekraft sollte man darüber ein Ranking machen
    deshalb gibts dazu auch keine Filterregel


    ... wie das manchmal so ist mit Kundenwünschen: will der Sterne, bekommt er Sterne

  9. #9
    Contao-Urgestein Avatar von zonky
    Registriert seit
    19.03.2010.
    Ort
    Berlin, Rdf
    Beiträge
    9.925
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von marcohe Beitrag anzeigen
    ...inkl. memberID falls eingeloggt

    dann könntest Du die Kommentare als "verifizierte User" kennzeichnen

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •