Go to main content

Textpattern CMS support forum

You are not logged in. Register | Login | Help

#1 2006-06-10 16:11:31

kab
New Member
Registered: 2005-07-23
Posts: 5

[de-de] [gelöst] Wie "interne Link-Liste" generieren?

Ich würde gerne dem Besucher im Navigationsbereich eine Liste der Artikel bieten, die sich auf der jeweiligen Seite befinden — damit er auch innerhalb der Seite navigieren kann.

Also Liste am Anfang der Seite

<li><href="#id_01">Zum Artikel mit Ueberschrift 1</a></li>
<li><href="#id_02">Zum Artikel mit Ueberschrift 2</a></li>
<li> ...

verweist auf die Artikel innerhalb der Seite

<h2><a name="id_01">Ueberschrift 1</a></h2>
[Artikeltext ...]

<h2><a name="id_02">Ueberschrift 2</a></h2>
[Artikeltext ...]

Das ist ja im Alltag von statischen Webseiten kein besonderes Ding — aber wie kann ich TXP sowas dynamisch generieren lassen?
Alleine die Artikel auflisten zu lassen stellt mich vor ein Problem. Es gibt ja nicht soetwas wie <txp:articlelist section="Damenbaerte" />. Oder täusche ich mich? <txp:recent_articles /> gibt es, aber das trifft die Sache leider nur halb.
Und dann das Problem, dass jeder Listenpunkt auch noch den entsprechenden link verpasst bekommen muss.

Die jeweiligen Artikel-Überschriften ließen sich problemlos im baustein mit <a id="id_<txp:article_id />"></a> auszeichnen.
Gibt es eine einfache Lösung und ich bin einfach zu blöd? Odergibt es ein plugin, was alle meine Träume (zu diesem Thema ;) ) erfüllt?

Edit: Exchanged old forum markup with Textile one. -Uli

Last edited by uli (2017-06-09 19:57:25)

Offline

#2 2006-06-10 19:27:53

wet
Developer Emeritus
From: Schoerfling, Austria
Registered: 2005-06-06
Posts: 3,340
Website GitHub Mastodon

Re: [de-de] [gelöst] Wie "interne Link-Liste" generieren?

<txp:article_custom section="Damenbaerte" /> listet die Artikel, allerdings ohne die Einschränkung auf die gerade aktuelle Seite.

Also braucht man eine andere Lösung. Und das geht so:

Im Wesentlichen möchtest du die Liste der Artikel zwei Mal auf der selben Seite, nur in verschiedenen Darstellungen: Ein Mal als blosse Überschrift mit dem Verweis per nummerierter id, ein zweites Mal mit Überschrift und Exzerpt etc. Diese Darstellung beeinflusst du über den verwendeten Baustein.

In deiner Seitenvorlage fügst Du also direkt nacheinander zwei Mail txp:article ein:

<txp:if_article_list>
<ul>
<txp:article form="inhaltsverzeichnis" />
</ul>
</txp:if_article_list>
<txp:article form="default"/>

Du brauchst jetzt noch eine Methode, um die eindeutigen id-Werte zu erzeugen, dazu bietet sich wie erwähnt die Artikel-ID an.

Der Baustein inhaltsverzeichnis kann also circa so aussehen:

<li><a href="#id_<txp:article_id />"><txp:title /></a></li>

Der Baustein default braucht einen Anker, ebenfalls gewonnen aus der Artikel-ID und zB an der Überschrift angehängt:

<h2 id="id_<txp:article_id />"><txp:title /></h2>
[... etc... ]

Fertig.

Last edited by wet (2006-06-10 19:30:49)

Offline

#3 2006-06-11 11:09:31

kab
New Member
Registered: 2005-07-23
Posts: 5

Re: [de-de] [gelöst] Wie "interne Link-Liste" generieren?

Traumhaft — Danke wet!
Das liest sich sehr schlüssig, ich werde das morgen mal umsetzen.

Offline

Board footer

Powered by FluxBB