Typo3 in phpBB Forum intergrieren
In meinem letzten Artikel “phpBB Forum in Typo3 integrieren” habe ich bereits erklärt, wie man das phpBB Forum in eine Typo3 Installation integriert, um so mit angepassten Stylesheets zwei Systeme wie ein System aussehen zu lassen. Nun ist das aber natürlich nur die halbe Miete. Daher will euch heute in diesem Artikel erklären, wie der andere Weg funktioniert, nämlich das Integrieren von Typo3 in das phpBB Forum.
Was brauchen wir dazu mindestens? Nun ja, eigentlich nicht viel… Die overall_header.html (in meinem Beispiel, bei euch die .html, in der euer Menü eingebunden wird) und eine neu angelegte typo3_menu.php. Die Datei typo3_menu.php ist in meinem Beispiel im Ordner template meines Themes gespeichert. Dies hat den Hintergrund, dass die Datei nicht versehentlich bei einem Update des Forums gelöscht oder unbrauchbar wird.
Die typo3_menu.php
Nehmen wir zunächst einmal die typo3_menu.php unter die Lupe, denn hier wird das eigentliche Menü eingebunden. Zu beachten ist, dass der Menüaufbau mit einer gesonderten .js realisiert wird. Solltet ihr diese benötigen, um z.B. ein Aufklappmenü zu realisieren, muss die Datei natürlich auch gespeichert werden.
Im folgenden seht ihr den Aufbau der typo3_menu.php, die das Menü im phpBB Forum erst realisierbar macht. Die genau Erklärung folgt unter dem Code.
<?php
$xml = file_get_contents('http://www.deine-Domain.de/index.php?id=22');
$excludedUids = array(15, 23);
$xmlParser = new SimpleXMLElement($xml);
foreach ($xmlParser->level1 as $menuentry) {
if (! in_array($menuentry['uid'], $excludedUids)) {
echo '<li><div><a href="/' . $menuentry['link'] . '" onfocus="blurLink(this);">' . $menuentry['title'] . '</a>';
if ($menuentry->count()) {
echo '<div>+</div></div><ul style="display: none;">';
foreach ($menuentry->level2 as $submenuentry) {
echo '<li><a href="/' . $submenuentry['link'] . '" onfocus="blurLink(this);">' . $submenuentry['title'] . '</a></li>';
}
echo '</ul>';
} else {
echo '</div>';
}
echo '</li>';
}
}
?>
Ihr seht vielleicht schon, dass im Code oft Listenelemente vorkommen, die den späteren Aufbau des Menüs darstellen. Diese müssen natürlich an euren Aufbau, also euer Layout des Menüs angepasst werden. Alle weiteren Dinge sollten beibehalten werden, um die Funktionalität der Datei zu gewährleisten. Alle, bis auf eine Ausnahme….
Ihr müsst www.deine-Domain.de in der ersten Zeile mit eurer Domain ersetzen. Die pid muss natürlich auch angepasst werden. Diese verweist übrigens auf eine einfache XML-Ausgabe, die das Menü wiedergibt. Die bewirkt dann später, dass auch neue Seiten von Typo3 im Menü vom phpBB Forum direkt automatisch angezeigt werden. Übrigens lässt sich über $excludeUids eine Auswahl an bestimmten Seiten, also pids von Typo3 angeben, die dann nicht im Menü angezeigt werden, wie z.B. Disclaimer oder Impressum.
Nun muss die typo3_menu.php nur noch an der anzuzeigenden Stelle in eurem Theme eingebunden werden. In meinem Beispiel ist dies die overall_header.html. Wählt einfach die Stelle, an der euer Menü stehen soll und gebt folgendes ein:
<!-- INCLUDEPHP /styles/DEIN-THEME/template/typo3_menu.php -->
Natürlich muss hier einfach nur euer Pfad zur typo3_menu.php angegeben werden. Und? War´s das? Ja, kaum zu glauben, aber es ist so. Euer Menü der Typo3 Installation ist jetzt in eurem phpBB Forum integriert.
ANMERKUNG: Ihr müsst in den Sicherheits-Einstellungen eures Forums erlauben, dass PHP in Templates verwendet werden darf, sonst funktioniert die o.g. Zeile nicht!
Ihr merkt schon, dieser Weg ist wesentlich einfacher, als das Integrieren des phpBB Forums in Typo3. Ich hoffe, dass euch der Artikel geholfen hat euere beiden Systeme komplett in einer Homepage darzustellen. Bei Fragen könnt ihr einfach einen Kommentar hinterlassen. Natürlich bin ich auch immer für Feedbacks oder auch Verbesserungsvorschläge dankbar.


