Eigenes Archiv mit Hilfe von TXP-Tags bauen
Autor: nic
Der folgende Artikel bezieht sich auf die TXP Version 4.0.2+.
Mit dem neuen Tag txp:if_different läßt sich auf einfache Weise ein Archiv, sortiert nach Monat oder Jahr, bauen. txp:if_different filtert dabei Artikel nach Datum aus. Das Datum kann alle Werte, die für die PHP Funktion strftime() gelten, annehmen. Siehe PHP net.
Das folgende Codebeispiel stammt von Michael Pate aus dem Forum.
Für sein monatliches Archiv hat er den folgenden article_custom Tag in der Seitenvorlage platziert:
<h2>Archives</h2>
<dl>
<txp:article_custom limit="99999" form="monthly_article" />
</dl>
Der Baustein monthly_article enthält den folgenden Code:
<txp:if_different>
<dt><a id="<txp:posted format="a%m%y" />"></a><txp:posted format="%B %Y" /></dt>
</txp:if_different>
<dd><a href="<txp:permlink />" title="Permanent link to <txp:title />"><txp:title /></a></dd>
Michael setzt mit <a id= erstmal einen Anker. Warum erklärt sich weiter unten. Mit <txp:posted format="%B %Y" /> filter er die Artikel nach Monaten/Jahr (%B %Y).
Mit <dd><a href="<txp:permlink />" title="Permanent link to <txp:title />"><txp:title /></a></dd> folgt die Auflistung der Artikeltitel als Permalinks.
Auf Michaels Startseite findet man eine Archivliste sortiert nach Monaten in der rechten Spalte. Diese Liste wird mit dem folgenden Code generiert:
<li>
<h2>Archives</h2>
<ul>
<txp:article_custom limit="99999" form="monthly_menu" />
</ul>
</li>
Dieses Codeschnipsel wird wieder direkt in der Seitenvorlage (hier in der rechten Spalte) platziert.
Der Baustein monthly_menue enthält den folgenden Code:
<li><a href="<txp:siteurl />archives/<txp:posted format="#a%m%y" />"><txp:posted format="%B %Y" /></a></li>.
Hier wird der oben angelegte Anker wichtig. Michael refenziert mit der siteurl auf seine Sektion archives und zwar auf die Links mit der Datumsangabe <txp:posted format="#a%m%y" />. Damit wird auf der Startseite eine Monatsliste ausgegeben, die direkt auf die Liste im Archiv verlinkt. Einfach und genial, waa :).
Der Vorteil eines Archivs mit TXP Tags liegt darin
- man ist von einem Plugin unabhängig
- article_custom benötigt weniger Speicher, da es nicht alle Artikel auf einmal in den Speicher lädt, wie das das häufig verwendete rss_supachiv Plugin tut.