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!