Tag zusammen,
ich suche im Moment eine möglichst flexible und zugleich saubere Lösung um ein Forum in mein CMS zu integrieren. Dabei soll aber eben nicht der Skin der Webseite mühevoll auf das Forum übertragen werden müssen wie es wohl die meisten machen.
Da ich bei meiner Suche auf keine befriedigende Lösung gestoßen bin hab ich mich gestern etwas rumprobiert. Dabei ist das hier herausgekommen:
quakenet:#php - nopaste #303669> -- Forum integration into CMS
Diesen Code includiere ich am Anfang aller .php files die direkt aufgerufen werden bzw. eben eine Ausgabe erzeugen. Das ganze funktioniert wie folgt:
- Es wird ein Ausgabepuffer per ob_start geöffnet und eine Callback-Funktion hinterlegt (diese erhält den gesamten Inhalt des Forums bevor der Server die Seite weg schickt und kann ihn beliebig verändern)
- Die Header der Ausgabe vom Forum werden untersucht um Bilder (captcha) und Redirects auszuschließen, in dem Fall wird die Ausgabe unverändert zurückgegeben
- Die Rückgabe wird in ein DOMDocument geladen
- Mein CMS wird initialisiert und fast vollständig ausgeführt. (Das parsen des Templates fällt hierbei weg und wird später von der Funktion erledigt)
- Die Bereiche "head" und "body" vom Forum werden in eigene DOMDocuments übertragen, unpassende Elemente können dabei vom Body in den Header oder umgekehrt verschoben werden (z.B. <script> aus body in header).
- Aus dem Body und Header des Forums wird jetzt wieder HTML Generiert und in mein Template eingefügt. Anschließend wird natürlich auch noch das Template geparsed und ausgegeben. (über den Rückgabewert der Callback funktion)
Das funktioniert so weit zwar auch absolut ohne Probleme, allerdings habe ich mich gefragt ob es da nicht irgendeinen einfacheren Weg gibt. Sollte da jemand ne' bessere Idee oder gar Lösung haben wäre ich überglücklich
Für den Fall das dieser Weg schon (fast) die beste Lösung ist steht es euch natürlich auch frei das Script für euch zu benutzen
MfG
Jens aka Forsaken
ich suche im Moment eine möglichst flexible und zugleich saubere Lösung um ein Forum in mein CMS zu integrieren. Dabei soll aber eben nicht der Skin der Webseite mühevoll auf das Forum übertragen werden müssen wie es wohl die meisten machen.
Da ich bei meiner Suche auf keine befriedigende Lösung gestoßen bin hab ich mich gestern etwas rumprobiert. Dabei ist das hier herausgekommen:
quakenet:#php - nopaste #303669> -- Forum integration into CMS
Diesen Code includiere ich am Anfang aller .php files die direkt aufgerufen werden bzw. eben eine Ausgabe erzeugen. Das ganze funktioniert wie folgt:
- Es wird ein Ausgabepuffer per ob_start geöffnet und eine Callback-Funktion hinterlegt (diese erhält den gesamten Inhalt des Forums bevor der Server die Seite weg schickt und kann ihn beliebig verändern)
- Die Header der Ausgabe vom Forum werden untersucht um Bilder (captcha) und Redirects auszuschließen, in dem Fall wird die Ausgabe unverändert zurückgegeben
- Die Rückgabe wird in ein DOMDocument geladen
- Mein CMS wird initialisiert und fast vollständig ausgeführt. (Das parsen des Templates fällt hierbei weg und wird später von der Funktion erledigt)
- Die Bereiche "head" und "body" vom Forum werden in eigene DOMDocuments übertragen, unpassende Elemente können dabei vom Body in den Header oder umgekehrt verschoben werden (z.B. <script> aus body in header).
- Aus dem Body und Header des Forums wird jetzt wieder HTML Generiert und in mein Template eingefügt. Anschließend wird natürlich auch noch das Template geparsed und ausgegeben. (über den Rückgabewert der Callback funktion)
Das funktioniert so weit zwar auch absolut ohne Probleme, allerdings habe ich mich gefragt ob es da nicht irgendeinen einfacheren Weg gibt. Sollte da jemand ne' bessere Idee oder gar Lösung haben wäre ich überglücklich
Für den Fall das dieser Weg schon (fast) die beste Lösung ist steht es euch natürlich auch frei das Script für euch zu benutzen
MfG
Jens aka Forsaken