Blog

Wordpress und Typo3 – Navigation & Footer

Am 31. Mai 2010, veröffentlicht in: Allgemein von Hans Christian Reinl

Tags: , , , , ,

| 1 Kommentar

Es war nun schon öfter der Fall, dass wir eine Typo3-Seite aufgesetzt haben und eine Blog-Funktion integrieren wollten. Frage ist dann, was nimmt man für eine Extension, die all das kann, was wir brauchen. Eine Antwort darauf haben wir bisher nicht finden können. Nur eins wissen wir: ttnews und die anderen News-Systeme von Typo3 können es nicht. Leider!

Beste Lösung: Wordpress

Wir haben uns dann entschieden Wordpress als Blog-System zu nutzen. Die Integration in die bestehende Typo3-Seite ist aber leider nicht so einfach möglich.

Ein großes Problem ist es den Seitenbaum aus Typo3 zu übernehmen, in welchem die eigentlichen Content-Seiten gespeichert sind. Wordpress soll also als reines Blog-System laufen ohne die “Seiten”-Funktion.

Also haben wir uns das Problem mal genauer angeschaut. Zwei Lösungsansätze gibt es:

  • a. aus dem Wordpress-Theme auf die Datenbank von Typo3 zu greifen und die Navigation erstellen
  • b. Typo3 eine Navigation erstellen lassen und in Wordpress einbauen

Wir haben uns für Variante b entschieden, da das auslesen der Datenbankstruktur sicherlich recht aufwendig ist. Außerdem ist server-übergreifender Datenbank-Zugriff aus sicherheitstechnischen Gesichtspunkten nicht zu vertreten. Liegt also die Wordpress-Installation auf einem externen Server, wäre hier schon Ende!

Der Ansatz der zweiten Variante scheint da sinnvoller.

get_the_menu() mit Typo3

Per TypoScript lassen wir uns von Typo3 die Seitenstruktur ausgeben. Die Blog-Seite wird im Typo3 als externer Link realisiert.

wordpress_menu = PAGE
wordpress_menu.typeNum = 111
wordpress_menu.10 < lib.menu
wordpress_menu.config.metaCharset = utf-8
wordpress_menu.config.additionalHeaders = Content-Type:text/html;charset=utf-8
wordpress_menu.config.absRefPrefix = http://www.example.com/

Die erstellte Seite besteht aus verschachtelten unordered Lists, eingebettet in eine HTML-Datei.

Der aktive Navigationspunkt “Blog” soll auch aktiv sein, sobald wir uns im Blog befinden.
Daher haben wir hier einen Trick angewendet, wir erstellen im Typo3-Seitenbaum eine Unterseite zu Blog. Diese können wir dann als Startpunkt für unsere Verlinkung nutzen. Dazu mehr im nächsten Schritt.

Das Seitenelement in Wordpress importieren

Im Wordpress-Theme können wir die generierte Seite nun weiter verarbeiten. Die Datei wird mittels der PHP-Funktion implode() erst einmal in eine Variable gelesen um in weiteren Schritten die eigentliche Navigation (die im Body-Tag eingeschlossen ist) zu isolieren:

$nav = implode(" ", file ("http://www.example.com/index.php?id=28&type=112"));
$nav = explode ("<body>", $nav);
$nav = explode ("</body>", $nav[1]);
echo $nav[0];

Nun wird als eine saubere Navigationsliste ausgegeben.

Die Datei, die wir auslesen ist http://www.example.com/index.php?id=28&type=111. Der Typ wird im TypoScript als wordpress_menu.typeNum definiert. Die id ist die Seiten-Id der Unterseite. Somit bekommt Typo3 das Gefühl sich wirklich im Blog zu befinden und kann somit auch eine entsprechende aktive Klasse einbinden.

Footer

Beim Footer ist es genauso, wie bei der Navigation. Wir erstellen per TypoScript die Seite. Allerdings müssen wir hier einen anderen Seitentypen verwenden, beispielsweise 112.  Und den Inhalt sollten wir auch aus dem entsprechenden Footer-Element auslesen und nicht aus der Navigation.

Im Wordpress kann man sich die Seite dann wieder genauso holen, wie bei der Navigation. Die Seiten-ID kann man hierbei entsprechend belassen.

Fazit

Man erleichtert sich durch dieses Vorgehen die Pflege der Website ungemein. Man hat schließlich nur einen Seitenbaum den man pflegen muss. Und auch nur einen Footer. Die Seitenleiste und der Content-Bereich ist bei einem Blog meistens sowieso anders, als auf den übrigen Seiten.

Ein großes Manko ist allerdings, dass man für beide Systeme dennoch ein eigenes Template aufsetzen muss. Hier eine entsprechende Lösung zu finden ist wohl eher schwer. Vielleicht fällt uns aber auch da etwas ein!

1 Kommentar zu “Wordpress und Typo3 – Navigation & Footer”

  • Gnoffo sagt:

    das rockt! vielen dank, genau was ich gesucht habe.
    bei mir hat es gereicht, lib.menu mit einer aufzählung (ol) zu wrappen, und dann habe ich eben mit explodet.

Geben Sie einen Kommentar ab