Textpattern: Grundlagen
Die Basics
Textpattern (TXP) ist ein Content Management System (CMS). Es befindet sich momentan noch in der Entwicklung, hat die Version Gamma 1.19 erreicht und läuft stabil. Allerdings ist es ausdrücklich noch keine Anwendung für den unbedarften Neuling, der mit drei Klicks alles am Laufen haben möchte. Layoutgestaltung und Einrichtung der Templates erfordern Einarbeitung und Erfahrung mit CSS. Starterpakete sind aber wohl für das fertige Produkt geplant.
Funktion
TXP basiert auf PHP und MySQL und einem Set von Tags, die nach dem Schema <txp:tagName /> aufgebaut sind. Beim Aufrufen einer Seite werden der PHP-Code und diese Tags dynamisch durch die entsprechenden Inhalte ersetzt. Die TXP-Tags können entweder in ein Seitentemplate (eine XHTML-Datei) oder in ein sogenanntes “form” (“Format” oder “Formular”, wobei beide Übersetzungen nicht besonders glücklich sind) eingebaut werden.
Die forms sind eine der Besonderheiten von TXP. Die zweite ist die Organisationsstruktur mit Sektionen. Doch bleiben wir zunächst bei den forms.
forms
Neben dem üblichen Gestaltungselement eines CMS, nämlich der Seitenvorlage (template) bietet TXP eine weitere Organisationsebene, die unterhalb der Seitenebene anzusiedeln ist: forms. Ein form ist ein Code-Schnipsel, das jegliche Art von Inhalt enthalten kann: XHTML, reinen Text, TXP-Tags (die dann bei der Ausgabe der Seite geparst werden) oder eine Mischung aus allem. Typischerweise kann ein form dazu verwendet werden, die Struktur eines Eintrags (z.B. bei einem Blog) festzulegen. Das könnte dann so aussehen:
<div class="post"><br />
<br />
<h3><txp:permlink><txp:title /></txp:permlink></h3><br />
<br />
<txp:body /><br />
<br />
<p class="meta"><strong>Autor dieses Beitrags:</strong> <txp:author /> | <txp:posted /></p> <br />
<br />
</div>
Dieses form kann ich benennen und dann aus dem Seitentemplate aufrufen. Wenn ich also ein Template für mein Blog baue, erstelle ich obiges form und füge Folgendes in das XHTML-Template ein.
<txp:article form="formName" />
Das <txp:article /> Tag ist der “inhaltliche Grundstock” jedes Templates und wird stets durch meine gespeicherten Beiträge ersetzt und durch das Attribut “form” gebe ich an, welche Form der Eintrag annehmen soll. In diesem Beispiel wäre jeder Beitrag von einem div namens “post” umgeben und würde eine h3-Überschrift als Link anzeigen, darunter den Text des Beitrages und anschließend einige Metaangaben über das Datum des Beitrages und den Autor. Wie man sieht, sind fixe und dynamische Elemente gemeinsam in einem Form vertreten.
Angenommen ich habe einen Bereich auf meiner Site, in der ich nur kurze Links posten möchte, dann erstelle ich ein form, das einfacher ist und z.B. nur den eine Überschrift ohne Textkörper anzeigt.
Eine weitere Anwendung von forms ist das Ausgeben von sich wiederholenden Code-Blücken ohne dass dynamische Elemente enthalten sind. So kann z.B. das XHTML für den Header, für die Navigation, für den Footer etc. jeweils in ein form packen und mit dem Tag <txp:output_form /> an jeder beliebigen Stelle der Site ausgeben.
Forms ermöglichen also das Wiederverwenden von flexiblen Bausteinen auf verschiedenen Teilen der Site wobei ihre dynamischen Tags immer mit den Inhalten der gerade aufgerufenen Rubrik gefüllt werden.
Näheres zu den Möglichkeiten der Strukturierung einer Website mit den bereits kurz angesprochenen Sektionen im nächsten Textpattern-Beitrag.