TXP Tutorial III

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:
vigilant.tv/threshold/

Plugins geschrieben von Max Ziebell:
Flashrocket

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

Textpattern Tips & Tricks

Hier eine lose Zsammenstellung einiger Tips und Tricks, die ich gesammelt habe. Teilweise sind diese schon etwas älter.

Anleitung Hicks Live Preview Comments

Jon Hicks von Hicks Design hat eine sehr elegante Lösung gefunden, das etwas simple Kommentarfeld in Textpattern mit einer Funktion zu versehen, die den Kommentar in Echtzeit widergibt. Wie das aussieht kann man auf soapbar.de, deep-resonance.org und Hicks Seite testen. Einfach einen Kommentar eingeben. Unterhalb dem Kommentarfeld wird der Kommentar dargestellt. Mit allen Änderungen.

Um das Live Preview Comment zu implementieren muß man in
a) die comment.php einige Zeilen einfügen
b) in das form comment_form etwas einfügen
c) in den Sourcecode der startseite einige Zeilen hinzufügen
d) zwei classen (odd, even) im CSS Stylesheet anlegen
e) ein Javascript einbinden

zu a)
Die gesamte Anleitung dazu findet man auf Hicks Seite
Wer sich da nicht durchkämpfen will, kann auch den Code aus dieser -> comment.txt nehmen. Dies ist die originale Textpattern RC1 comment.php, einzig die Änderungen fürs Live Preview sind darin enthalten. Um die eigenen comment.php nicht zu verlieren, kopiert man einfach den Code der comment.php.txt in die originale comment.php ganz oben hinein und kommentiert dann mit /* orig. code..*/ den originalen Code aus. Es passiert nichts. Im schlimmsten Falle bekommt man einen Errror. Klappts nicht, löscht man den kopierten Code wieder und entkommentiert den originalen Code.

zu b)
Das form comment_form ist im Grunde der HTML Code für die Kommentarausgabe. Dort muß
<txp:comment_name_input />
durch :
<input type="text" id="name" name="name" tabindex="1"
onkeyup="ReloadNameDiv();" value="<?php echo $aname; ?>"
ersetzt werden. Der Sinn ist der folgende: hat schon mal ein User einen Kommentar abgegeben sind womöglich (sofern er Remember angekreuzt hat) sein Namen etc. in einem Cookie gespeichert worden. Diese Angabe wird hier eingesetzt.

c)
In den Quelltext der ersten Seite muß nun noch diese Zeile hinzugefügt weden. Am Besten direkt nach dem <body> tag.
<?php
$aname = $_COOKIE['txp_name'];
?>
Diese Zeile liest das Cookie aus, das u. U. auf dem Rechner des Users existiert.

Weiterhin fügt man diese Zeilen:
<txp:if_individual_article>
<div class="odd">preview :<a href="#" id="NameDisplay">
<?php echo $aname; ?></a> on <?php $today=date("d.m.y");
print "$today"; ?>:
<div id="TextDisplay"></div>
</div>
</txp:if_individual_article>
unterhalb des TXP Artikel tags im Quellquode ein.

Hier mal als Beispiel mein Code, der die gesamte Ausgabe aller Artikel nebst des Preview regelt. Mehr ist das nicht!

<div class="containerTxt">
<div style="margin-bottom:8px">&nbsp;</div>
<txp:article form="txt_full_ob" limit="10" />
<txp:if_individual_article>
<div class="odd">Vorschau :<a href="#" id="NameDisplay">
<?php echo $aname; ?></a> on <?php $today=date("d.m.y");
print "$today"; ?>:
<div id="TextDisplay"></div>
</div>
</div>
</txp:if_individual_article>
</div>

d)
die classes odd und even regeln die Ausgabe der geschriebenen Kommentar. odd ist der 1., 3., 5. etc. Kommentar, even, der 2., 4., 6., ... Kommentar. Im Stylesheet die beiden classes anlegen.

e)
Das wichtigste ist die Javascript Datei. Diese muß in den headbereich des Quellcodes der Startseite eingefügt werden.
<script type="text/javascript" src="/js/livePreview.js"></script>
Das entsprechende Javascript gits -> hier.
UP

Empfängername in Email

Wenn im Admin-Bereich von TXP Emailempfang bei Comments eingestellt wurde, wird der Namen des Senders angezeigt wenn man in der comments.php in der letzten Funktion diese Zeile:
mail($email, "[$sitename] comment received: $Title", $out,
durch diese Zeile ersetzt:
mail($email, ”$cname [$sitename] comment received: $Title”, $out,

TXP Forum Eintrag dazu hier
UP

'Comment Form' formatieren

Das 'Comment Form' ist fest in PHP codiert. Das heißt, man kann es nicht einfach so stylen, wie man will - außer man nimmt die Änderung in der comment.php selbst vor. Als Beispiel: die Überschrift 'Comment' wird automatisch in <h3> ausgegeben. Das ändert man in der o. g. Datei in Zeile 28 wo $out = n.'<h3... steht.

Weitere stylings sind über das TXP tag comment_form möglich. Wieder ein Beispiel von Jason hier
UP

'Comment Preview' formatieren

Will man das gesamte Styling der Preview Seite eines Comments der eigenen Seite anpassen, kopiert man den gesamten neuen XHTML Codes inkl. CSS Angaben in der comment.php zwischen Zeile 221-235 ein. Ein gutes Beispiel gab mal wieder Jason hier
WICHTIG: die Variablen $h3 und $discuss müssen in den neuen XHTML Code übernommen werden, da sie den Comment beinhalten.
UP

'Comment Forms' XHTML 1.1 validierbar machen

Dazu siehe hier den Eintrag ins TXP Forum. TXP zielt derzeit jedoch nicht auf XHTML. 1.1 Validierbarkeit.
UP

Format Datum ändern

Das Format der Datumsausgabe kann in der Datei include/txp_prefs.php verändert werden. Siehe Funktion: function dateformats (..).
UP

Referrer

Wer zum TXP blog noch statische Seiten hat, kann diesen Referrer in diese Seiten kopieren:
<?php
include_once('/pfadzu/textpattern/config.php');
include_once('/pfadzu/textpattern/lib/txplib_misc.php');
include_once('/pfadzu/textpattern/lib/txplib_db.php');
include_once('/pfadzu/textpattern/publish/log.php');
logit();
?>

UP

sections auflisten

...via Plugin: spc_section_alias von ST. Champion. Alles dazu im Forum
UP

Plugins unter der basedir_restriction nutzen

Von Max Ziebell stammt diese Anleitung: Thread im Forum
UP

TXP TAG

txp:article_custom doesn’t respect override_form
You can use article_custom to output articles by date:
<txp:article_custom month="11-03" /> Forum
UP

Archiv Plugin

Für TXP 1.18a gibt es ein Plugin, dass Artikel nach Jahr, Monat, Tag filtert. Hilfreich für ein Archiv: Forum
UP

Excerpt I

a) Einen Artikel auf der Startseite anreißen und auf einer anderen Seite in voller Länge zur Verügung stellen, kann man in dem man der article section, die archive page zuweist, und auf dieser das TXP tag <txp:body /> verwendet. Auf der Startseite verwendet man das tag <txp:excerpt /> .
UP

Excerpt II

b) Alle Artikel auf der Startseite anreißen und auf einer anderen Seite in voller Länge zur Verügung stellen:
Man legt eine neue section sowie eine dazugehörige page an. Man legt ein form namens 'anreisser' an, das mindestens das TXP tag <txp:excerpt /> und ein <txp:permlink><txp:title / ><txp:permlink> enthalten muß. Dann legt man ein weiteres form namens 'komplett' an, dass mindestens das TXP tag <txp:body /> enthalten muß. Auf der Startseite platziert man ein <txp:article form="anreisser" limit="10" />. Auf der der neuen page platziert man ein <txp:article form="komplett" />. Der neuen section weist man unter presentation/section zu, 'NICHT auf der Startseite angezeigt' zu werden zu. Damit hat man Excerpts auf der Startseite und eine Extraseite mit dem kompletten Artikel.
UP

Excerpt III

Anreißer für die neuesten/letzten Artikel anzeigen: Forum
UP

Excerpt IV

Komplizierterer workaround für eine TOC Liste oder excerpts und komplette Artikel auf ein und derselben Seite:
<txp:article form="workaround" limit="1" />
<txp:if_article_list>
<txp:article_custom form="abc" limit="15" section="xyz" excerpted="n" sortby="Posted" sortdir="desc" />
</txp:if_article_list>
<txp:if_individual_article>
<txp:article form="default" />
</txp:if_individual_article>
siehe unbedingt (!) dazu: Forum und Hier
UP

Suchergebnisse auf einer anderen Seite

Siehe Forum

Bookmarklet

Siehe Forum und dieses Posting im Forum

Ich habe 2 Bookmarklets ausprobiert. Das folgende Script trägt einen Link direkt im Linkverzeichnis von TXP ein. Nachteil des Scripts ist, dass sich die zu linkende Seite in eine weiße Seite ändert. Wurde ja auch schon um Forum erwähnt. Dennoch hier das Javascript:

javascript:(window.open('http://sitename.de/textpattern/index.php?
event=link&step=edit&link=Add&bm=1&linkname='+escape
(document.title) +'&url='+escape(window.location.href),'
_blank','width=400,height=490,
status=yes,resizable=yes,scrollbars=yes'))

Das 2. Script ist etwas eleganter und stammt von Doug. Es übernimmt einen markierten Text sowie den dazugehörigen Link direkt in das write Feld. Sehr arbeitserleichternd:

javascript:d=document;w=window;t='';
if(d.selection){t=d.selection.createRange().text}else
if(d.getSelection){t=d.getSelection()}else
if(w.getSelection){t=w.getSelection();}
if(t){t=t+'\n\nQuote from: '}void(w.open
('http://sitename.de?&Body='+escape(t)+escape
(location.href)+'&Title='+escape(document.title),'_blank',''))

Beide Scripte müssen als Favourit in den Browserfavouriten vorliegen. Da ich meist mit Opera unterwegs bin, ist das da kein Problem. Man trägt das Script in die Adresszeile eines Favouriten ein. Bei anderen Browsern trägt man das Script (nur eins!) in eine HTML Seite ein und bookmarkt diese dann.
WICHTIG: Bookmarklets funktionieren nur wenn man bei TXP auch eingeloggt ist.

Ein Script für Version 1.19 von Scencer als auch eine weiterführende Anleitung, wie man eine seperate Linkliste schnell und effizient erstellen kann findet sich in diesem Thread im Forum.
UP

<p> tags in Artikeln u. Excerpt

TXP setzt Artikel automatisch in <p> tags, excerpts allerdings nicht. Das führt meist zu Stylingproblemen (zB:die Headline klebt bei Excerpts am Text). Es gibt diverse Lösungen für dieses Problem.

1) Einmal kann man in den 'forms' für Artikel bzw. Excerpts mit <div> arbeiten, die den Abstand nach oben/unten durch ein margin regeln.

2) Das p tag verschwindet, wenn man Textile nicht verwendet. Siehe 'Advanced options' links neben dem Write Feld. Allerdings ist es eine mühselige Arbeit bei jedem Artikel Textile auszuknipsen.

3) Eine PHP Lösung von Kursor ist diese im Forum. Mit Vorsicht zu genießen. Unbedingt rückgängig machen, wenn man ein TXP Update macht.

UP