Thorsten Schäfer
Webentwicklung & Content Management, Berlin

StartseiteSoftware ›› CMS REDAXO

Title-Tag (Seitentitel) und Redaxo

Bei den meisten Templates und auch beim mitgelieferten Demo-Template gibt es keine Möglichkeit, mit Redaxo den Seitentitel unabhängig vom Artikelnamen zu gestalten. Doch genau das wäre meist (oft) wünschenswert.

Dabei ist es relativ leicht, Redaxo um ein Meta-Feld für den Seitentitel zu erweitern. Und: Man kann es sogar so einrichten, dass der Title der Startseite genommen wird, wenn der Artikel keinen eigenen hat.

Seitentitel mit Redaxo 4.2 in 3 Schritten

Schritt 1: Metadaten erweitern

Das AddOn Meta Infos ist in Redaxo standardmäßig aktiviert. Und genau hier müssen wir hin.

Klicke also auf “Meta Infos” unter “AddOns”.

Auf der nun erschienenen Seite gibt es eine ganze Reihe von Möglichkeiten, deswegen also gleich vorab was wir wollen: Wir möchten ein Feld “art_pagetitle” den Metadaten eines jeden Artikels hinzufügen.

Sorge also dafür, dass “Artikel” angeklickt ist und klicke auf das kleine “Hinzufügen”-Symbol vor “Spaltenname”. (ACHTUNG: alles, was man hier macht, fügt der entsprechenden Datenbanktabelle ein Feld hinzu. Deswegen schön sorgfältig arbeiten.)

Nun öffnet sich ein Formular, dass nur immens kompliziert aussieht. Es sollte einfach folgendermaßen ausgefüllt werden:

Feld Eingabe
Spaltenname pagetitle
Feldposition Am Anfang
Feldbezeichnung Seitentitel
Feldtyp Text

Der Rest kann leer und unbeachtet bleiben, also einfach auf “Speichern” klicken.

Klicken wir nun auf “Struktur” und öffnen einen beliebigen Artikel; unter “Metadaten / Sonstiges” finden wir nun ein neues Feld “Seitentitel”.

Schritt 2: Template editieren

Damit dieser Seitentitel nun auch im Frontend angezeigt wird, ist es notwendig, das/die Template(s) zu editieren und – da es oft oberhalb des HTML-Teils einen PHP-Bereich gibt – folgenden Code hinzuzufügen:

if($this->getValue("art_pagetitle") != ""){
  //Seitentitel des Artikels
  $pageTitle = $this->getValue("art_pagetitle");
}
else{
  //Seitentitel des Artikels ist leer -> den des Startartikels der Website  
  //nehmen
  $article = OOArticle::getArticleById($REX['START_ARTICLE_ID']); 
  $pageTitle = $article->getValue("art_pagetitle");
}

Schritt 3: Variable in Title-Tag ausgeben

Der letzte Schritt ist der einfachste. Im Title-Tag des Templates wird einfach die Variable ausgegben. Beispielsweise mit:

<title><?php print $pageTitle; ?></title>

Und nicht vergessen: der Title-Tag gehört in den Head-Bereich des HTML-Teils des Templates.

Ferrrrrrrtisch!