TXP Tutorial II
Download
TXP wird kontinuierlich weiter entwickelt. Die jeweils neueste Version
erhält man unter:
TXP
TRAC
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

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.
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
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
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
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
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
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
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
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.
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>Das Ganze wird in ein 'form' gepackt und das form dann in einem article tag auf die default page platziert. Fertig.
<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>
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.

Man kann sich eine ganze Liste von forms anlegen und je nach Artikel das
entsprechende Form wählen.

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.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 />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.
<txp:article_image />
<txp:body />
<txp:posted format="j.n.04" />
<txp:comments_invite />
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
Der große Vorteil liegt darin, dass man damit browserunabhängige Abstände
erzielt.
Um zu sehen, wie unterschiedlich Browser Paragraphen darstellen, gibt
man einfach mal das folgende in eine HTML Seite ein und schaut sich das
Ergebnis in Opera, IE, Firefox an:
<div style="width: 100%; border:1px solid #cccccc;">
<p>dies ist ein Absatz</p>
</div>