WBCE Home | WBCE Hilfe | WBCE Addon Repository | Impressum | Datenschutz

WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

You are not logged in.

#1 02.08.2016 11:28:03

grindbatzn
Guest

Angedacht: CommentsAnywhere

Ich hab das schon länger im Hinterkopf und wollte mal fragen, ob es schon was ähnliches gibt, ob das ebenfalls jemand andenkt.
Oder eben allgemeine Meinungen dazu:

Ein Modul das Site-weit Kommentare ermöglicht und verwaltet.

Es soll per Droplet überall eingebunden werden können, nach dem Schema:
[[comaw?s=section_id&i=item_id]]
section_id und item_id gibt es wohl in jedem Modul, das kann man ganz leicht generell einbauen.

Damit könnte man etwa Bilder in der rFG, Items in Bakery, Topics, sonstwas kommentieren.
Vielleicht auch gleich ein einfaches StarRating dazu, nur mit JS-LocalStorage vor Mehrfach-Rating geschützt, das muss reichen.

Die Kommentarbox muss sich natürlich leicht und universell einbinden lassen, ebenso die Ausgabe vorhandener Kommentare.
Dazu natürlich Funktionen wie AnyCommentsAnywhere usw.

Die Einstellungen sollen so ähnlich wie in Topics sein (das hat sich gut bewährt) und kaskadierend, so dass man überall jedes einzelne Ding einstellen kann, aber nicht muss.
Verwaltung komplett im Frontend.

Gedanken, Meinungen?

Last edited by grindbatzn (02.08.2016 11:28:32)

#2 02.08.2016 11:48:30

florian
Administrator

Re: Angedacht: CommentsAnywhere

Sternen-Bewertung für WB classic
http://www.websitebakers.com/pages/code … rating.php

Feedbackmodul von anno dunnemals
http://www.websitebakers.com/pages/modu … edback.php

Comments für Lepton (vielleicht lässt sich das ja adaptieren?)
http://www.websitebakers.com/pages/modu … mments.php

Grundsätzlich eine gute Idee. Ich hadere etwas mit dem "Alles im Frontend"-Ansatz.
Die Bewertung von einzelnen News-/Bakery-/OneForAll-Items, Galerien und ähnlichem dürfte aber nicht so ohne weiteres möglich sein, zumindest nicht über page/section-ID, da die einzelnen Einträge von solchen Modulen ja keine eigenen Seiten/Abschnitte darstellen.

Offline

#3 02.08.2016 13:37:28

stefanek
Developer

Re: Angedacht: CommentsAnywhere

An sich könnte das gut gehen.

Wenn es eine WBCE-only Lösung sein soll, würde es sogar noch besser und einfacher gehen, weil man hier mit hybriden Modulen arbeiten kann (zum Teil Snippet, zum Teil Admin-Tool).

Florian wrote:

Die Bewertung von einzelnen News-/Bakery-/OneForAll-Items, Galerien und ähnlichem dürfte aber nicht so ohne weiteres möglich sein, zumindest nicht über page/section-ID, da die einzelnen Einträge von solchen Modulen ja keine eigenen Seiten/Abschnitte darstellen.

Technisch gesehen würde es, wie Chio schon angemerkt hat, über die Section-ID gehen.
Mit der Section-ID kannst Du auch ermitteln welches MODUL es ist.
Die Item ID ist dann die jeweilige ID des Items im Modul, diese sind unterschiedlich von Modul zu Modul. Bei News ist es "post_id" (oder?) ....
Das wäre aber kein großes Problem.

grindbatzn wrote:

Die Einstellungen sollen so ähnlich wie in Topics sein (das hat sich gut bewährt) und kaskadierend, so dass man überall jedes einzelne Ding einstellen kann, aber nicht muss.

Die habe ich mir nie angeschaut, daher keine Ahnung.
Kaskadierend mit Überschreibung von zuvor generell eingestellten Settings hört sich aber gut an.


Gruß,
Chris

Last edited by stefanek (02.08.2016 13:38:26)


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#4 02.08.2016 13:56:53

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Danke für die Tipps und Hinweise
Comments für Lepton schaut schon mal gut aus..

Mein Gedanke ist, dass CommentsAnywhere nicht wissen muss, was da eigentlich kommentiert wurde.
Das Droplet gibt ihm eine Item-Id mit, woher die auch immer kommt: topic_id, item_id (Bakery, Itemz), pic_id (rFG),... alles hat eine id. Bei reinen sections eben 0.
Und genauso wird es auch wieder abgefragt.

Dadurch könnte man prinzipiell auch etwas kommentieren, wofür es eigentlich keine Erlaubnis gibt. Zb Topic_id 100, obwohl der Zähler erst bei 50 steht. Das würde dann in der Zukunft plötzlich auftauchen.
Allerdings: Man wird ja eh verständigt über jeden neuen Kommentar, da merkt man das ja sofort..

Für Any-CommentsAnywhere:
Über die section-id kann ich abfragen, zu welchem Modul das gehört, und ähnlich wie SimplePageHead kann ich dann über das Modul + dessen IDs den Link abfragen.
Alternativ kann ich bei jedem Kommentar die URL der Seite mitspeichern, einfach per JS abgefragt.

"Alles im Frontend"-Ansatz:
Ja warum denn nicht? Du bekommst ein Mail (zb aufs Handy), dass es einen neuen kommentar gibt - und den willst du dann im Backend suchen und herumfrickeln, wenn du ihn löschen willst?
Das muss einfacher gehen.

Last edited by grindbatzn (02.08.2016 13:59:02)

#5 02.08.2016 14:29:39

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Ich kann mich erinnern wir haben da schon mal ein paar PMs diesbezüglich ausgetauscht.

Theoretisch geht es alles genau so.

Alles-Im-Frontend:
Man kann das sowohl im FE als auch im BE machen, im BE mit einem Admin-Tool.
BE sichert die Konsistenz der Darstellung.

Ich habe damals (vor 2 Jahren) daran gearbeitet. Habe es verschoben.
Heute finde ich, dass es auch viele Dienste wie Disqus gibt, die auch nicht schlecht sind. Eine Brücke dafür wäre unter Umständen auch interessant.

Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#6 02.08.2016 14:56:11

florian
Administrator

Re: Angedacht: CommentsAnywhere

Die Alles-im-Frontend-Frage ist was Grundsätzliches. Ich sage nicht, dass es schlecht ist, es ist nur im WBCE-Umfeld -noch- etwas ungewohnt. Deine (Chio) Module können/machen das alle, aber sonst keines. Chris hat mich da genau verstanden - es geht in der Tat um die Konsistenz bzw. Konsequenz. Es ist schwer, Leuten klar zu machen, dass sie zum Bearbeiten der Inhalte (und für die Anmeldung am CMS, wenn das im Frontend-Template nicht vorgesehen ist) ins BE müssen, aber zum Bearbeiten eines Teils - nicht mal aller - Inhalte dann ins FE zu wechseln haben.

Um schnell einen missliebigen Kommentar löschen zu können, wäre ein Zugriff per FE natürlich sinnvoll, aber der Nutzwert verpufft, wenn erst eine Anmeldung erforderlich ist (die im ungünstigsten Falle nicht übers FE läuft). Es sollte daher die Möglichkeit geben, Kommentare auch per Klick auf einen Link direkt aus der Mail heraus zumindest unsichtbar zu schalten - ohne Anmeldung.

An Diskus dachte ich auch kurz. Wobei ich gestehen muss, mich noch nie mit der Einbindung dieser Anwendung auseinandergesetzt zu haben.

Offline

#7 02.08.2016 15:21:59

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

@christ: Unsere Posts haben sich irgendwie überschnitten. Ich habe deswegen keinen Bezug drauf genommen.
Und ja, wir hatten da schon mal PNs, ging aber bei mir in meinem Saustall alles verloren..
/>

Der Gedanke ist eben, dass die Funktion grundsätzlich über Droplets angestoßen wird, die man in praktisch jedem Modul leicht einbauen kann.

Die view.php des Moduls selbst wäre dann schon etwas wie "Any-CommentsAnywhere"; eine Übersicht über alle letzten Kommentare  irgendwo. Für Berechtigte eben auch gleich mit kleiner Verwaltung.

Und die modify.php analog dazu eben eine Statistik und Verwaltung: letzte Kommentare löschen, ändern, sonstwas.
Das könnte natürlich auch ein AdminTool sein.

Der Unterschied zu einem "normalen Modul" wäre, dass jeder Abschnitt des Modules immer das gleiche zeigt, auch wenn es mehrmals installiert ist.

Noch was zur Kommentarfunktion bei Topics:
Die ist ein Graus. Sie funktioniert zwar an sich ganz gut und ziemlich spamfrei, aber "innen drin" ist es ein Gefrickel. Ich hab das nie ordentlich hinbekommen.
Wenn ein ein allgemeines Kommenarmodul gäbe, würde ich das sofort in Topics integrieren und die eingebaute Variante kübeln.

#8 02.08.2016 15:58:13

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Ja, meine ganzen Ideen diesbezüglich sind auch auf "Pause".
Habe momentan leider keine Kapazitäten frei, aber in Zukunft habe ich auf jeden Fall Lust, es umzusetzen.
Die Priorität ist in meinem Falle nicht so hoch, weil ich es selten brauche. Aber es kommt vor und dann fehlt es.

Frage FE/BE wäre ja jetzt geklärt.

Persönlich mag ich auch FE Edit.

Die Lösung mit Droplets ist auch super.
Wird nur etwas kompliziert, wenn man zu bestimmten Items die Kommentarfunktion dann wieder "abschalten" will. Oder Zu einem bestimmten Item nur "eingeloggte" Besucher was schreiben sollen.
Das wird dann auch alles über den Dropletaufruf gehen müßen.

Das AdminTool wäre tatsächlich ein Hauptspeicher aller Kommentare, mit der Darstellung der letzten 50 vielleicht. Oder der, die noch nicht freigeschaltet/zurückgewiesen wurden. Alles andere im Archiv.
Dort in der Liste könnte man den Kommentar-Text sehen, aber auch einen Link zum Item im Frontend (zu was ist der Kommentar?).

Frontend-Darstellung und Edit an sich ist auch interessant, wenn man mit Threaded Comments arbeitet (kommentare zu kommentaren zu kommentaren). Dann sieht man die Kommentare im Kontext.


Der mechanische Teil das zu programmieren ist nicht so umfangreich. Aber oft sieht man dann noch Sachen, die man vorher nicht angedacht hat und es zieht sich in die Länge.
Die Frontend Darstellung ist dann eine andere Sache komplett.
https://github.com/Viima/jquery-comments (Lepton Kommentarfunktion) habe ich mir grade angeschaut und sieht ziemlich interessant aus.
Es wird aber bestimmt wieder andere geben, die ein anderes Theme wollen, andere Farbe oder komplett ein anderes Aussehen...

Wie auch immer, auf jeden Fall etwas Interessantes so ein allgemeines Kommentar-Modul.

Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#9 02.08.2016 16:03:38

stefanek
Developer

Re: Angedacht: CommentsAnywhere

florian wrote:

An Diskus dachte ich auch kurz. Wobei ich gestehen muss, mich noch nie mit der Einbindung dieser Anwendung auseinandergesetzt zu haben.

Ja, Disqus hat interessante Aspekte.

Wie gesagt, momentan ist das ganze für mich etwas auf "Pause".
Wobei ich weiß, dass ich es früher oder später werde haben wollen.

Darüberhinaus gibts auch noch Facebook. Und Yahoo.

Facebook dürfte interessant sein für eine Handvoll Leute die ihre Seite um ihren Facebook Auftritt herum aufbauen.
Also als ein zusätzliches Marketing-Gig.

Seit der Zeit der ersten Gästebücher hat sich die Userinteraktion stark verändert. glasses

Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#10 02.08.2016 16:24:12

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Disqus ist (mir zu) heikel...

Mal nachdenken, was für DB-Felder man bräuchte:

tabelle comments:
id // id des Kommentars selbst
section //zu welcher section
item //zu welchem Item der section
active //0=keine Darstellung (ev. Spam), 1=nur für angemeldete, 2=normal 3= hervorgehoben, 4=superwichtig.
timestamp //klar, zur sortierung, eine andere Sortierung ist nicht nötig
url //Die URL der Seite inkl Parameter, auf der der Kommentar steht. Das ist etwas heikel, weil sich die URL ändern kann. Allerdings wird das nicht so oft geschehen und ist nur bei der Auflistung letzter Kommentare von Bedeutung.

dann die üblichen Felder:
name //Kann aus dem Usernamen generiert werden, aber eine Anmeldung ist natürlich nicht nötig.
headline //Braucht man kaum und bleibt eh meistens leer
email //Optional Pflichtfeld, wird nicht dargestellt. Ist aber nötig um Leute zu identifizieren, bzw mit Bildchen zu versehen usw.
homepage //Man bekommt weit weniger Kommentare, wenn die Leute keine Link setzen können.
showhomepage //0:gar nicht, 1=js-maskiert, 2=nofollow, 3=normaler Link. Das ist so wie bei Topics, bei jedem Kommentar einzeln einzustellen, mit Gesamtvorgabe. Meist Vorgabe 3, aber ich werte die Depperten später ab.
comment //klar

Jo: Verschachtelte Kommentare - also auf Kommentare antworten können?
Das ist schwierig und rechenintensiv. -> Vielleicht später ;-)

Bewertung von Kommentaren?  -> Vielleicht später..

tabelle settings
id // id des Settings-Eintrages selbst
section //zu welcher section
item //zu welchem Item der section
s_name varchar //Welche Eigenschaft
s_value text //welcher Wert
modified //wichtig für Kontrolle und Undo

Es werden also alle passenden Settings-Einträge geladen und dann kaskadierend überschrieben.
section 0 = alle Grundeinstellungen
section X = + abweichende Einstellungen zu section X
section X, Item Y = + abweichende Einstellungen zu item Y

s_name ist eben sowas wie 'commenting'
s_value dazu 0=keine kommentare anzeigen, 1= kommentare anzeigen, aber keine mehr erlauben, 2=normal
Analog dazu:
s_name='handling': 0=moderated, 1=verzoegert, 2= sofort

Wie man das am besten macht, weiß ich noch nicht. vor allem auch: Wie man das so einstellbar macht, dass es jemand kapiert.
Warum das kompliziert ist?
Weil es immer einzelne "Dinge" sind, die zugespamt werden. Da ist es ein Segen, wenn man das dann genau für dieses Item abdrehen kann.

Ich denke, etwas wie Templates mit Platzhaltern braucht es nicht. Die Ausgabe ist ohnehin immer das gleiche. Eventuell, ob das Datum ausgegeben werden soll-

Last edited by grindbatzn (02.08.2016 16:26:49)

#11 02.08.2016 16:55:35

stefanek
Developer

Re: Angedacht: CommentsAnywhere

grindbatzn wrote:

Jo: Verschachtelte Kommentare - also auf Kommentare antworten können?
Das ist schwierig und rechenintensiv. -> Vielleicht später ;-)

Verschachtelte Kommentare ist nicht schwer und auch nicht so rechenintensiv, wenn man es richtig macht.
Das Problem der Rechenleistung haben die meisten dieser Scripte, weil sie für "unterkommentare" immer eine neue DB Abfrage starten.
Die Lösung ist, es per referenz zu machen, so wie ich es im Turbo-PageTree gemacht habe. Dann brauchst Du nur eine Abfrage.
Man arbeitet dann eben mit einem zusätzlichen db-field `parent_id`, dann gehts.

Kompliziert ist es allerdings ein wenig bei der Darstellung im Frontend.

Bei dieser Variante müßte man dann in den Settings noch angeben, wieviele Ebenen es max sein sollen.

Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#12 02.08.2016 17:00:23

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Die Lepton-Kommentarfunktion:
Die ist ziemlich kompliziert aufgebaut und daher schwer anzupassen.
An sich ist die Kommentarfunktion selbst ja nicht so arg schwierig mit php zu machen und jQuery sollte sich auf einfache Funktionen beschränken, und natürlich auf den "Absenden"-Teil, der für Spider ohnehin nicht sichtbar sein soll.

So insgesamt: Kommentare (wenn man welche hat) bringen eine Seite ganz schön nach oben in Google, weil sich eine Seite immer wieder ändert.
Aber natürlich nur, wenn sie im Quellcode "sichtbar" sind - und auch, wenn Google die Links der Leute sieht. Ist einfach so.
Wenn man das will, dürfen die Kommentare nicht per Ajax angezeigt werden. Dann fällt auch FB oder Disqus weg.

Der Vorteil von Ajax zum Darstellen der Kommentare ist natürlich, dass das das Laden der Seite nicht einbremst.
Wird man am besten einstellbar machen.

Nachtrag:
Themes:
Da wird man nicht viel Spielraum haben.

Last edited by grindbatzn (02.08.2016 17:13:14)

#13 02.08.2016 17:01:01

stefanek
Developer

Re: Angedacht: CommentsAnywhere

grindbatzn wrote:

Es werden also alle passenden Settings-Einträge geladen und dann kaskadierend überschrieben.
section 0 = alle Grundeinstellungen
section X = + abweichende Einstellungen zu section X
section X, Item Y = + abweichende Einstellungen zu item Y
s_name ist eben sowas wie 'commenting'
s_value dazu 0=keine kommentare anzeigen, 1= kommentare anzeigen, aber keine mehr erlauben, 2=normal
Analog dazu:
s_name='handling': 0=moderated, 1=verzoegert, 2= sofort
Wie man das am besten macht, weiß ich noch nicht. vor allem auch: Wie man das so einstellbar macht, dass es jemand kapiert.

Am besten man arbeitet mit einem Array.

$config = array( und hier erstmal die settings aus der DB)

Dann liest man noch die Einstellungen aus dem Droplet aus und überschreibt sie:

$config['add_comments'] = $fromDroplet['add_comments'];

(das obige ist natürlich nur vereinfacht).

Schon hast Du ein Array mit den Settings.

grindbatzn wrote:

Ich denke, etwas wie Templates mit Platzhaltern braucht es nicht. Die Ausgabe ist ohnehin immer das gleiche. Eventuell, ob das Datum ausgegeben werden soll-

Persönlich würde ich es gerne so haben, dass jeder es selbst gestalten kann. 2-3 mitliefern, ansonsten kann man sich seine eigenen nachbasteln.

Aber ohne Platzhalter. Entweder pures PHP oder Twig. Oder beides. Ist kein großer Sprung.

Gruß,
Chris

Last edited by stefanek (02.08.2016 17:22:25)


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#14 02.08.2016 17:24:57

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Ich gehe jetzt mal von einem STandard-Droplet aus, das immer die Form [[comaw?s=section_id&i=item_id]] hat. Weitere Parameter kann man da nicht übergeben.

zB. Du willst das für Bakery nutzen. Dann kannst du das Droplet leicht in den EInstellungen von Bakery generieren, für alle Artikel gleich.
In den Settings steht dann zb etwas wie: section 54 hat style=2, commenting=3 usw.

Dann passiert es dir, dass Artikel "Katzenwaschpulver" zugespamt wird. NUR der, sonst keiner. Also musst du die Einstellungen für DIESES eine Droplet ändern können.
Das geht natürlich nicht über das Droplet selbst, weil dann müsstest du für die ganze Bakery-Section ALLE Kommentare abschalten.
Deswegen kaskadierende Einstellungen, wo dann zb steht: section 54, item 98 hat commenting=0

#15 02.08.2016 17:30:26

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Ich sehe was Du meinst.

Ich werd mal drüber nachdenken.

Dürfte mit Droplets nicht all zu leicht zu realisieren sein. Aber vielleicht übersehe ich grad noch eine gute Lösung.

Gruß,
Chris


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#16 02.08.2016 17:37:54

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Chris, wir haben da schon mal viel darüber geplaudert, Mai 2014, ich hab das alte Teil von mir gerade wieder gefunden. Ist aber nicht mehr recht hilfreich...

Etwas Bedenken habe ich momentan wegen der Geschwindigkeit, etwa wenn jemand auf die Idee kommt, in der rFG Übersicht bei 200 Bildern das anzubringen (was theoretisch ja gehen sollte)

#17 02.08.2016 17:42:14

stefanek
Developer

Re: Angedacht: CommentsAnywhere

OK, jetzt habe ich es.

Die Main-Settings werden über das Admin-Tool gemacht und liegen in der DB.

Das Droplet wird in das Item selbst eingegeben.

[[global_comments?sid=[section_id]&iid=[post_id]&add_comments=0]]

[section_id] und [post_id] muss aus dem Modul kommen. (Das wäre dann das, was man in den Modulen haben müßte, view.php)
add_comments würde dann die Main-Settings überscheiben. (Wie in meinem vorigen Beispiel)

stefanek wrote:

Am besten man arbeitet mit einem Array.

$config = array( und hier erstmal die settings aus der DB)

Dann liest man noch die Einstellungen aus dem Droplet aus und überschreibt sie:

$config['add_comments'] = $fromDroplet['add_comments'];

(das obige ist natürlich nur vereinfacht).

Schon hast Du ein Array mit den Settings.

Gruß,
Chris

Last edited by stefanek (02.08.2016 17:49:22)


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#18 02.08.2016 17:47:21

stefanek
Developer

Re: Angedacht: CommentsAnywhere

grindbatzn wrote:

Chris, wir haben da schon mal viel darüber geplaudert, Mai 2014, ich hab das alte Teil von mir gerade wieder gefunden. Ist aber nicht mehr recht hilfreich...

Etwas Bedenken habe ich momentan wegen der Geschwindigkeit, etwa wenn jemand auf die Idee kommt, in der rFG Übersicht bei 200 Bildern das anzubringen (was theoretisch ja gehen sollte)

Welche Bedenken tauchen da denn auf?

Meinst Du die Kommentar-Funktion würde in dem Loop der 200 Bilder sein? Oder erst wenn man auf die Detailansicht des Bildes geht?
Bei Sonderfällen kann man dann ein Sonderdroplet machen.

Ich denke mit einem Droplet kann man dann auch leicht zusätzlich für den Loop ein kleines Droplet machen, wieviele Comments für das Item vorhanden sind.

Bei 200 Bildern könnte das etwas dauern, aber ich denke nicht so lange. Und selten hat man 200 Bilder auf einer Seite.

Gruß,
Chris

P.S. Mai 2014  lol  Kommt mir wie letzte Woche vor.


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#19 02.08.2016 17:52:45

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Das &add_comments=0 brauchst du schon gar nicht mehr.

zb Bakery ist eine einzige Section. (pro Seite mit Bakery). Da unterscheiden sich dann ohnehin nur mehr die Items.

Zur Geschwindigkeit:
Da wäre es vielleicht sinnvoll, wenn man auch nur etwas augeben kann wie "Zahl der Kommentare" + Ansehen-Button (der dann pr Ajax nachlädt)
Die Zahl der Kommentare (wenn nicht 0) könnten ebenso in den Settings gespeichert werden, oder besser in einer ExtraTabelle, wo man auch gleich einen Cache dazugibt.

#20 02.08.2016 17:59:44

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Ach was, ich probier das einfach mal.

Wegen verschachtelten Kommentaren und anderen Dingen, von denen ich keine Ahnung habe (Templates, Droplets) melde ich mich einfach, wenn ich grundsätzlich Hoffnung sehe.

#21 02.08.2016 18:05:32

stefanek
Developer

Re: Angedacht: CommentsAnywhere

OK  thumb_up


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#22 02.08.2016 20:52:16

stefanek
Developer

Re: Angedacht: CommentsAnywhere

Lange überlegt und ich komme zu keinem guten Ergebnis, es (die Setting Überschreibung) alleine mit Droplets zu machen.

Die Lösung, die ich sehen, die ich mir vorstellen kann, ist, es mit einer kleinen API zu machen.

Am einfachen Beispiel vom standard News Modul:
man erweitert die modify_post.php und bindet hier den nötigen Code ein, um ein kleines Forumular zu laden, mit dem man auswählen kann:
add_comments,
und was auch sonst noch gibt, das man überschreiben will.

Die kleine API würde das Formular komplett generieren.
Vorteil: alle Module könnten darauf zurückgreifen, ohne dass sich etwas an der Funktionsweise ändert.

Platzieren WO die Kommentare und das Kommentar-Formular im FE sein sollen, würde weiterhin normal über Droplet gehen.
Wie auch viele andere Sachen einfach über Droplets realisiert werden könnten.

Nicht aufschrecken beim Begriff API. Es klingt manchmal komplexer als es ist.

Warum es mit Droplets nicht geht?
Gut, erstmal alles in Theorie: man kann die Überschreibungs-Settings nicht als letztes mit nem Droplet setzen und dann das vorige Droplet verarbeitet es. Das ist das ganze Problem dabei.

Da ich es aber nicht praktisch getestet habe, lasse ich mich eines besseren belehren.

Die API oben würde ein Formular im Backend (modify_post.php) generieren, mit dem man dann die gewünschte Zusatzeinstellung/Überschreibung in die DB schreibt.

Im Frontend liest das Droplet dann die Settings alle kaskadierend ab und gibt aus wie es soll.

Für das Modul selbst (hier im Beispiel also News) könnte man auch in der modify_settings.php Einstellungen vornehmen die dann die (nennen wir sie mal) General Settings des Kommentar-Moduls überschreiben könnte.

Kaskadierend würde das ganze dann so aussehen:
general-settings
   section-settings
      item-settings

Wird GlobalComments mit einem Admin-Tool realisiert, kann man die nötigen Settings-Tabellen bei der Installation erstellen und Droplets installieren.

Gruß,
Chris

Last edited by stefanek (02.08.2016 20:55:02)


"All the knowledge I possess everyone else can acquire, but my heart is all my own."
Johann Wolfgang von Goethe

Offline

#23 03.08.2016 08:55:11

grindbatzn
Guest

Re: Angedacht: CommentsAnywhere

Ja, alleine mit Droplets geht das nicht.
Das Droplet wäre eher ein "SectionPicker" für das AdminTool/Modul "GlobalComments" (Danke Chris, wir können das Kind mal so nennen ;-)
Es blendet also dessen Inhalt an dieser Stelle ein.

Solange es nur ein/zwei mal auf einer Seite vorkommt, wird das so gehen, bei vielen muss man mit AJAX nachladen, und eben das über ein anderes Droplet "anstoßen", zb [[useGlobalComments]], das nur EINMAL gesetzt wird und den jQuery-Kram + eventuelles HTML + css dazu einbindet.
Dann könnte man mit zb <div class="GlobalComments" data-globalcomment="S-I" ></div> allerhand Dinge nachladen, zb die Zahl der Kommentare für eine ganz kleine Box, wo sich erst mit Klick alles weitere öffnet.

Ich denke dabei an (zb) die Übersichtseite in Bakery oder Topics, wo man da schon gleich in der Übersicht was zeigen will.
Oder die responsiveFG (oder jede andere Gallery), wo du eigentlich keine "Detail-Seiten" hast, sondern nur die Übersicht. Somit kann man auch da alles kommentierbar machen.

Dazu bräuchte man noch eine weitere Tabelle "cache", in der Form:
"thingie" // zb 23-98 = section-item
commentscount //Zahl der Kommentare
commentsclass //0-5 = kein - viele kommentare, zum einfachen Darstellen eines Icons, wie zb in Topics
cache // die kommentare griffbereit darstellbar.
ev auch hier: link zu Seite, den kann man laufend auffrischen.

Damit kann man sehr schnell zugreifen. Wenn sich was ändert (zb ein Kommentar dazukommt) löscht man den Cache einfach, beim nächsten Aufruf wird er einfach neu aufgebaut. Damit kann man die Kommentare sogar in die Suche integrieren: Man sucht einfach im Cache.

#24 03.08.2016 10:53:18

webbird
Administrator

Re: Angedacht: CommentsAnywhere


Ich habe eine Amazon-Wishlist. wink
Erfolgreich vom eigentlichen Problem ablenken kann auch eine Lösung sein.

Offline

Board footer

Powered by FluxBB

up