TXP Tutorial II

Download
TXP wird kontinuierlich weiter entwickelt. Die jeweils neueste Version erhält man unter:
TXP TRAC

Weitere TXP Resourcen:

TXP Forum: forum.textpattern.com

Textile Referenz in Englisch
www.hobix.com/textile/

TXP Tut on english: mnorton.chaosnet.org/txp/

TXP TAG Manual in English:
www.kusor.com/en/txptags

Joel Dueck on TXP Semantics:
www.jdueck.net

TXP Diagramm:
www.splatbang.com

Zentrale Plugin Liste:
Forum

Plugins geschrieben von Zem:
thresholdstate.com

Plugins written by Drew McLellan:
www.allinthehead.com

Grundsätzliches zu RSS:
www.uckan.info

Meine TXP Help Sammlung:
www.soapbar.de/txp

Button Maker

Praxis Beispiel

Es soll eine Literatur-Seite mit 4 Sections (Startseite, Bücher, Bilder, Kontakt) angelegt werden. Es sollen Artikel zu Romane, Gedichte, Verlage erscheinen. Dies wären die Kategorien. Alle Artikel sollen in voller Länge angezeigt werden. Unter Punkt 3.8 geht es explizit um excerpts/Anreißer.

3.1 Startseite formatieren

Zu erst würde man in die Startseite (default page) das X/HTML Grundgerüst einfügen, sofern man nicht auf das vorgegeben zurückgreifen möchte. Reid hat einige saubere Stylesheets zum Download hier abgelegt. Für den Quickstart sehr hilfreich!

WICHTIG: an dieser Stelle kommen 'forms' zum Einsatz.
Man legt also ein form an, dass mind. ein <txp:body /> enthält (siehe 2.1.5).

Zurück zur page. Dort generiert man einen Article tag: <txp:article /> und kopiert das tag dann an die Stelle im XHTML Code, wo die Artikel erscheinen sollen! Für dieses Beispiel werden vorläufig alle Zusatzangaben, die man dem <txp:article /> tag noch hinzufügen könnte, auße Acht gelassen. Warum erklärt sich weiter unten. Auf allen Seiten, wo Artikel dynamisch ausgegeben werden sollen, muß es einen article tag geben. Ohne, werden keine Artikel angezeigt!!
UP

3.2 styles anlegen

In einem Editor wie z.B. Dreamweaver lassen sich X/HTML Code und Stylesheets am Besten testen. Der CSS Code kann in das TXP Feld für 'styles' einkopiert und abgespeichert werden. Das ist unkompliziert. Man muß auch nicht für jede Seite ein Stylesheet anlegen.

Ist das Design so aufgebaut, dass sich nur ein teaser Bild ändert, dann kann man immer das selbe Stylesheet benutzen und per Hand das teaser Bild in den X/HTML Code der zugehörige 'page' einbinden, so wie man es üblicherweise macht (<img src="xxx.gif"..). Manche Leute benutzen überhaupt nur ein einfaches Stylesheet für ihre komplette Site. Styles einbinden, siehe 3.4
UP

3.3 categorien anlegen

Caterories anlegen ist simpel. Unter Content/organise/categories gibt man im Artikelfeld die Namen der categorien an und speichert sie ab. Hier also Romane, Gedichte..etc.

(Man kann auch Unterkategorien bestimmen. Dazu klickt man unter Content/organise auf eine z.B. Articel-category. Es öffnet sich ein neues Fenster in dem man angeben kann, welche category 'Parent' sein soll. 'Parent' ist damit die übergeordnete category. Unter TXP rc1 gibt es noch keine Möglichkeit Unterkategorien sinnvoll zu verwenden!!)
UP

3.4 pages anlegen

So wie es für die Startseite eine 'page' gibt, kann man für weitere Hauptnavigationsseiten weitere 'pages' anlegen. Das lohnt sich in zwei Fällen: da wo die Seite auch vom X/HTML-Aufbau komplett anders aussieht (2 Spalter statt 3 Spalte) oder wenn Artikel bzw. Inhalte nicht auf der Startseite erscheinen sollen.

Für 'Bücher' und 'Bilder' legt man nun jeweils eine 'page' an. Dazu speichert man einfach die 'default' page unter dem Namen buecher bzw. bilder ab. Verändern sie den Code entsprechend. Immer wieder speichern nicht vergessen. Stylesheet wie unter 2.1.7 beschrieben einfügen. <txp:article /> einfügen nicht vergessen.

Im Literaturbeispiel gibt es jetzt 4 pages: default, about, buecher, bilder. Damit das Werk auch auf dem Screen sichtbar wird, muß zu guter Letzt noch die section 'bilder' und 'buecher' selbst angelegt werden.
UP

3.5 sections anlegen

Unter Presentation/section legt man die weiteren 'sections' an. Für die Startseite existiert schon die section 'article', der die page 'default' zugeordnet ist. About (als Kontaktseite gedacht) hat die page 'about'. Während section article auf der Startseite erscheinen soll, ist dies bei der About Seite sinnigerweise ausgeschaltet.

WICHTIG: belassen sie Style auf default. Solange man das Stylesheet im head Bereich der page angegeben hat, solange hat eine Angabe hier keine Auswirkung.

So gehts:
Zuerst legt man die section buecher unter Presentation/section mit Namen an. Nach dem Abspeichern erscheint ein rotes Ausrufezeichen

TXP section

in einem Button neben dem section Namen. Klick darauf und man wird aufgefordert eine Textdatei anzulegen, in die man einen vorgegenen Code einfügen soll. Desweiteren soll man 3 Zeilen der .htaccess Datei zufügen.

WICHTIG: bei der hier geforderten Textdatei handelt es sich nicht um eine der üblichen Textdateien mit einer Dateiendung a la-> xxx.txt. Man sollte dazu auch nicht den Editor von Windows benutzen. Dieser speichert Textdateien als rtf (RichTextformat) ab, selbst wenn man es nicht angibt. Benötigt wird das UNIX Format. Zu diesem Zwecke habe ich mir EditPad Pro heruntergeladen. Ein einfach zu installierender Editor, der Textdateien ins UNIX Format umwandeln kann.

Man öffnen also die .htacces mit EditPad oder einem anderen UNIX fähigen Editor, fügt die 3 Zeilen hinzu und speichert das ab. EditPad erkennt automatisch, dass es sich um das UNIX Format handelt. Next step: Textdatei mit Namen 'buecher' kreieren. Wie gesagt: im UNIX Format ohne (!!!) die Dateiendung [.txt] . Im selben Verzeichnis wo die about Seite liegt speichern.
Fertig. Nun müßte das rote Fragezeichen vor der section 'buecher' verschwunden sein. Genauso verfährt man mit der section 'bilder'.

Der Zusammenhang ist der folgende: TXP behandelt sections als eigenständige Bereiche. Da TXP nicht von vorherein weiß, welches diese sind, müssen sie es 'mitteilen'. Tiefergehend hat es mit s. g. "includes" zu tun. TXP arbeitet in Wirklichkeit nur mir einer Seite. Alle weiteren Daten und Angaben werden nur inkludiert.

Zu guter Letzt weist man der section buecher bzw. bilder noch die zugehörige 'page' zu.

WICHTIG: allen sections ein 'On Frontpage?' NO zuweisen - außer der section article.

Zu Testzwecken sollte man an dieser Stelle einen Artikel veröffentlichen. Unter Content/write schreibt man einfach etwas, weist dem Artikel die section 'artikel' zu und eine categorie und klickt 'Publish'. Damit sollte der Artikel auf der Startseite des blogs erscheinen.
UP

3.6 Verlinkung

Dummerweise gibt es auf der Startseite noch keine Links auf die anderen Hauptnavi-Punkte (sections). Der folgende Code machts unter der Voraussetzung, dass der URL mod /clean/ eingestellt ist, möglich:
<ul>
<li><a href="/buecher">Buecher</a></li>
<li><a href="/bilder">Bilder</a></li>
etc.. etc..
</ul>

Auf dem eigenen Rechner sieht der Link so aus:
<a href="/buecher">Start</a>
So wenn er in einem Unterverzeichnis liegt:
<a href="/unterverzeichnis/buecher">Start</a>

Unter URL mod /messy/ so:
<a href="/?s=buecher">Start</a></li>

Sections können über <txp:section_list /> auch automatisch aufgelistet werden. Der tag findet sich (zumindest bei mir) nicht in der Tag Liste. Funktioniert aber.

Der Link auf die Startseite kann mit einem 'Useful tag' generiert werden (siehe: Useful tags).

Wer viel mit sections arbeiten möchte, ist gut beraten auf ein Plugin von Stanton Champion zurück zu greifen. Die oben dargestellten Lösungen sind in Wirklichkeit eher behelfsmäßiger Natur den professionell.

Kategorielisten können ebenso über einen 'useful tag' generiert werden.
Der tag sieht so aus: <txp:category_list category=" " wraptag="ul" break="li" /> . Dies unter der Voraussetzung, dass man 'ul' und 'li' (ohne < >!!) eingegeben hat. Man kann auch 'p' u. 'br' für Absatz und Neue Zeile eingeben. Eine andere Möglichkeit ist eine Popup-Liste der categories bzw. sections zu generieren. Allerdings entspricht das selten den Designvorstellungen, die man so hat.

ACHTUNG: Categorienlisten sind nicht section sensitiv. Das heißt: klickt man z. B. auf die Kategorie Roman in der section Buecher, werden alle als Roman kategorisierten Buecher ausgegeben - allerdings auf der Startseite. Um Kategorielisten nur innerhalb einer section zu nutzen muß man auf ein plugin zurückgreifen. Mehr dazu im Teil Tips und Tricks.
UP

3.7 Linkliste anlegen

Unter content/link trägt man die Links ein, weist die entspr. category zu und speichert das ab. Die Felder sind sicher selbsterklärend. Link title ist der Link Name, den man vergibt. Die Angabe für die Sortierung kann man weglassen.

Möchte man eine Linkliste mit Linktitel und Beschreibung ausgeben, dann legt man ein form an, indem dieser tag drinsteht:
<li><txp:link /></li> und speichert den unter einem Namen z.B. meineLinks.

In die page fügt man diesen tag ein, den man auch selbst unter Miscallaneous/ List of Links generieren kann, z. B. so:
<txp:linklist form="meineLinks " category="name" limit="15" sort="rand()" wraptag="ul" />

Damit wird eine Liste mit dem Linktitel ausgegeben.
<txp link_description /> gibt die Linkbeschreibung aus.

**<txp linkdesctitle /> nur verwenden, wenn man keine XHTML Attribute in der Beschreibung verwendet!!
***Das TXP tag <txp link_text /> wird nicht unterstützt.

**** Weiteres zu Linklisten
und Anlegen einer Blogroll in einem Artikel auf textpattern.kbbu.de.

3.8 mit excerpts / Anreißern arbeiten

Es gibt 2 Hauptansätze um excerpts zu realisieren.
1) man legt eine weitere section an, auf der der volle Artikel angezeigt wird .... oder
2) man benutzt 'conditional comments'

zu 1)
man legt eine weitere section an und dupliziert die default page unter einem anderen Namen z. B. article_list. Damit gibt es jetzt gewissermaßen 2 identische sections und pages. Nun fehlt noch ein 'form' mit einem <txp_excerpt /> und
<txp:permlink>read more</txp:permlink> drin. Dieses generieren und unter z.b. 'anr' abspeichern. Danach ein article tag mit dem form 'anr' erstellen und dieses in die default page einfügen. In die page article_list ein einfaches <txp:article /> einfügen. Fertig.
Artikel schreiben, ein paar Worte in das excerpt Feld einfügen und unter section article abspeichern. Damit werden nur die excerpts auf der Frontpage angezeigt. Bei klick auf den PermaLink wird der Artikel als einziger auf der article_list page angezeigt.

Letztlich will man vielleicht ja nicht nur excerpts auf der Frontpage haben. Auch das läßt sich lösen. Mehr dazu unter Pkt. 3.9 .


zu 2)
Wenn man conditional comments benutzt, dann benötigt man keine (!!) 2. section. Excerpt und full article werden auf ein und derselben Seite angezeigt.
conditional comments sehen so aus:

<txp:if_individual_article>
<txp:title/>
<txp:body />
<txp:posted format="H.i" />
<txp:comments_invite />
<txp:posted format="j.n.04" />
</txp:if_individual_article>
<txp:if_article_list>
<txp:title />
<txp:excerpt />
<txp:permlink> ...read more...</txp:permlink>
<txp:posted format="j.n.04" />
<txp:comments_invite />
</txp:if_article_list>
Das Ganze wird in ein 'form' gepackt und das form dann in einem article tag auf die default page platziert. Fertig.
UP

3.9 Overwrite form

Overwrite form bietet die Möglichkeit articel forms zu überschreiben. Das Feld dazu befindet sich links neben dem Texteingabefeld. Es ist sehr hilfreich wenn man nicht nur excerpts auf der Frontpage haben will. Man generiert einfach noch ein form mit den Angaben für vollen Text und selectiert dieses wenn man keinen excerpt benötigt.
TXP overwrite form
Man kann sich eine ganze Liste von forms anlegen und je nach Artikel das entsprechende Form wählen.

3.10 article_custom

TXP article custom

Dieser tag hat schon für viel Verwirrung gesorgt. Der Unterschied zum einfachen article tag ist jedoch recht simpel. Mit diesem tag lassen sich Artikel nach diversen Kriterien wie category, section, date etc. filtern. Das macht besonders für seperate pages Sinn, auf denen nur Artikel erscheinen sollen, die z.B. zu einer section gehören.
WICHTIG:
article_custom läßt sich NICHT mit Overwrite forms überschreiben!

WICHTIG:
Fortgeschrittenen Useren rate ich für die Artikelausgabe ein Plugin wie z.B. das chh_article_custom von Coke Harrington zu nutzen. Es bietet eine Reihe von weiteren Features, die hilfreich sein können.
UP
-----------------------------------------------------------------------------
custom fields: ist mir noch nicht klar aber hier 2 Links aus dem Forum:
Forum1
Forum2

UP

4.0 Images, Fotos, Galerie

4.1 Fotos hochladen
Ist ansich unspektakulär. Man geht zu content/images und klickt auf 'Durchsuchen'. Dann upload. TXP speichert die Bilder im Ordner 'images' unter fortlaufenden Nummern. Neben den normalen Fotos kann man auch Thumbnails hochladen und diese dem entsprechenden Foto zuordnen. Ich denke, der Vorgang ist selbsterklärend, wenn man erstmal ein Foto hochgeladen hat. Wichtig ist unter anderem, dass nach X/HTML Vorgabe, jedem Bild/ Grafik eine alternativer Text zugeordnet werden soll. Der alt Text wird in TXP nach upload unten in einem Eingabefeld eingegeben und muß gespeichert werden!

4.2 Fotos in Artikeln verwenden
Will man Fotos in Artikel einbinden, greift man zu diesem Tag: <txp:article_image />.
Das Tag wird in ein article form eingebunden.
Bsp.:

<txp:title />
<txp:article_image />
<txp:body />
<txp:posted format="j.n.04" />
<txp:comments_invite />
Das Tag bleibt leer, wenn kein Bild für den Artikel angegeben wurde. Wie kommt das Bild nun in den Artikel? Ziemlich einfach. Neben dem writing field/Texteingabefeld befindet sich unter 'Advanced Options' ein Eingabefeld, dass sich 'Article Image' nennt. In dieses Feld gibt man NUR ! die Nummer des Bildes ein, das im Artikel erscheinen soll. TXP verlinkt das Bild sebsttätig. Um den Tag kann auch der Tag für einen Permalink gelegt werden, so dass das Bild ein Link wird.

Neben dieser Möglichkeit gibt es auch noch einige andere. Eine ist z.B. die Textpattern Bildangabe z.B. <txp:image id="29" /> in den Text zu setzen. Damit ist man nicht auf den <txp:article_image /> angewiesen und kann Bilder/Grafiken im Text an beliebiger Stelle positionieren. Den Tag generiert man unter content/images. Dort findet man auch die XHTML Angabe für jedes Bild.

Ein img popup mit thumnail ist auch möglich.
Ein Beispiel mit Erklärung für den TXP tag
<txp:thumbnail id="xx" poplink="1"/>
habe ich hier abgelegt -> hier

 

Für FotoFans
Zem hat eine Anleitung für eine Fotogalerie in engl. geschrieben und apsk hat ein Template für einen Fotoblog bereitgestellt ->

creating-a-photoblog und Download Template
Beispiel im Forum -> hier

Kai Horlbeck hat ein excellentes Foto Gallerie Script (index.php)auf seinen Server gestellt. Das Script ist genial und sehr empfehlenswert. Es besteht aus einer Datei (index.php), die in ein Sub-Verzeichnis mit den Fotos gelegt wird. Die Fotos werden automatisch und dynamisch zu Thumbnails verkleinert. Die Live Demo und das Script auf -> www.horlbeck.info. Für das Script gebe ich 6 STERNE. Excellent.
UP