3 Stimmen

Wie man ein "Plugin"-Kommentarsystem erstellt

Ich frage mich, wie sind Plugins wie Disqus entwickelt. Sie sind wie eine URL getaggt (aber etwas fortgeschrittener, da sie z.B. mit verschiedenen Abfrage-Strings, serverseitiger Sprache, Verwendung kurzer URLs usw. arbeiten müssen).

Ich möchte dies fragen, da ich denke, dass es eine gute Idee ist, getrennte Funktionalität wie Kommentare/Bewertungen/Besprechungen in separaten Komponenten zu halten und nach Bedarf einzubinden, damit die Funktionalität dynamisch hinzugefügt werden kann.

Z. B. können Blogeinträge und Portfoliobilder kommentiert werden, aber ein Blogeintrag kann nicht wie ein Portfoliobild bewertet werden.

Update Ich werde PHP/MySQL verwenden, aber ich denke, ein solches "Muster" kann in jeder Sprache implementiert werden.

1voto

tomsseisums Punkte 12735

Anscheinend ist niemand bereit, Ihre Frage zu beantworten. Nun ja... Vor kurzem habe ich ein Kommentarsystem entwickelt, das dem von Ihnen gewünschten ähnelt. Ich werde versuchen zu erklären, wie ich das erreicht habe. (und Sie sollten auch in der Lage sein, Bewertungen und alles andere daraus zu entwickeln).

Die Hauptseite speichert Variablen wie: aktuell verwendet component (sagen wir Modul/Plugin/was auch immer), geladenes Element identificator (falls vorhanden).
Dann gibt es diese Kommentarklasse, die standardmäßig geladen wird, aber nur ihre Funktion ausführt, sagen wir check die prüft, ob der aktuell geladene component @ identificator Kommentare aktiviert hat oder nicht (MySQL speichert sie für mich). Wenn ja dann bauen Sie das comments Form.

#example (component) table:
id (item_identificator) | comments | title | content | author | timestamp | <etc.>

Meine comments Tabelle speichert dann Formularvariablen zusammen mit component y item_identificator .

#comments table:
id | component (in this case - "example") | item_identificator | comment | author | timestamp | <etc.> 

Und, um diese zu zeigen comments Sie laden einfach Kommentare aus der Datenbank, wo component y item_identificator ist gleich dem verwendeten Strom.

Ich hoffe, Sie haben verstanden! Und weil Sie keine Sprach-Tags angegeben haben, habe ich mir erlaubt, über PHP und MySQL zu schreiben.

Wenn Sie irgendwelche Fragen haben, können Sie sie stellen.

EDIT

Ich habe gerade gelesen, was Disqus ist, also... Das wird nicht seitenübergreifend sein :(

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X