TYPO3 goes WordPress goes TYPO3

Es ist gelungen: Die Website von Netzelf (TYPO3) wurde in den letzten Tagen erfolgreich mit dem Netzelf-Blog (WordPress) gekoppelt. Da ich im Netz keinerlei Ansätze für dieses Unterfangen finden konnte, möchte ich Entwicklern mit ähnlichen Vorhaben den Lösungsweg nicht vorenthalten.

Das grundlegende Problem war, dass das in TYPO3 verwaltete Template bei jeder Änderung in WordPress manuell adaptiert werden musste. Die Lösung dafür war denkbar einfach: Zunächst wurde ein Skript entwickelt, das das Template von TYPO3 bezieht. Dies funktioniert über eine Kombination aus cURL und dem PageType in TYPO3. Dafür wurde das Standard-PAGE-Objekt im TS-Setup dupliziert und für den Seitentyp 300 etwas angepasst:

blog = PAGE
blog < page
blog.config.index_enable = 0
blog.typeNum = 300
blog.headerData.10 >
blog.headerData.10 = TEXT
blog.headerData.10.value = ###HEAD###
blog.10.marks.FOOT.wrap = |###FOOT###
blog.meta >
blog.10.marks.CONTENT >
blog.10.marks.MAINNAV.alwaysActivePIDlist = 3

Das Ergebnis wird im WP-Frontend durch das Skript mittels cURL abgerufen und sieht folgendermaßen aus: Mit TYPO3 generiertes Template. Dies geschieht für jede im Skript konfigurierte Sprache aus Performance-Gründen nur bei Übermittlung eines geheimen Parameters. Anschließend werden die empfangenen Inhalte in temporären Dateien abgelegt.

Nachdem das Skript die richtige Sprache zur Ausgabe im WordPress-Theme gewählt und das passende Template eingelesen hat, passt es mittels preg_replace noch die Links zu CSS- und JS-Dateien und TYPO3-Links an, teilt das Template mittels explode() in Header, Body und Footer auf und schreibt dies in ein $GLOBALS-Array. Die Bestandteile werden schließlich an passender Stelle im Theme ausgegeben.

Damit ist auch schon die optische Kopplung von Website und Blog erledigt. Der zweite und wesentlich anstrengendere Schritt bestand darin, die Suchfunktionen beider Systeme miteinander zu verbinden. Zwei günstige Umstände machten die Vorüberlegungen dazu jedoch relativ einfach: Zum einen erlaubt TYPO3 eine wunderbare Erweiterungsmöglichkeit mittels XCLASS und zum anderen kann in WordPress-Feeds ein Suchbegriff mittels GET ausgewertet werden. Der weitere Weg bestand also darin, die tx_indexedsearch-Klasse mit XCLASS zu erweitern und dabei die Ergebnisse aus WordPress mit Hilfe der wunderbaren Erweiterung TW RSS Feeds einzubinden. Das Ergebnis lässt sich über die Suche oben rechts bestaunen.

Letztendlich hat die Aktion zwei Tage in Anspruch genommen und läuft weitestgehend stabil. Leider fehlt z.Zt. die Zeit, den Vorgang in einer T3X und einem WordPress-Plugin zu manifestieren. Auf Anfrage veröffentliche ich jedoch gern unbedenkliche Teile des Quellcodes.

4 Responses to “TYPO3 goes WordPress goes TYPO3”

  1. Alexander Says:

    Thanks for all the interesting posts. They really helped me a lot! Between, you just got a new subscriber now!

  2. Renate Says:

    Sehr hilfreich. Vielen Dank hierfür!

  3. Alex Says:

    Hört sich interessant an, ich weiß aber nicht genau was ich machen muss.

  4. Christian Opitz Says:

    @Alex – wir arbeiten grad an einem Redesign unserer Seite. Sobald selbiges fertig ist und sich diese Lösung auch nach allen WordPress- und TYPO3-Updates weiter bewährt, werde ich die benötigten Skripts hier posten.

Leave a Reply