Schleifen innerhalb von Schleifen

Inhalte aus mehreren Ebenen

Wie man Elemente aus verschiedenen Quellen auf derselben Seite anzeigt

Wir wissen nun, wie man eine Liste der Titel in einer Rubrik erzeugt. Jetzt werden wir auf derselben Seite die Elemente der Rubrik selbst abbilden: ihren Titel, den Text, der sie beschreibt, und so weiter. [1]

Probieren Sie’s!

Hier ist eine Lösung:

<BOUCLE_rubrique(RUBRIQUES){id_rubrique}>
<h1>#TITRE</h1>

<BOUCLE_article(ARTICLES){id_rubrique}{par date}{inverse}{0,10}>
<a href="#URL_ARTICLE">#TITRE</a><br>
</BOUCLE_article>

[(#TEXTE|justifier)]
</BOUCLE_rubrique>

Sie rufen die Seite mit der URL http://meine_site.net/spip.php?page=tutorial&id_rubrique=1 auf. Was passiert dabei?

Unsere ARTICLES-Schleife ist in einer RUBRIQUES-(Rubrik)-Schleife eingeschlossen. Der Kontext der ARTICLES-Schleife ist die id_rubrique, die durch die RUBRIQUES-Schleife vorgegeben wird, die ihrerseits den Kontext hat, der durch die URL angegeben ist (id_rubrique=1). Deshalb befinden wir uns auf dem ARTICLES-Niveau innerhalb der angeforderten id_rubrique. Bis hierher hat sich nichts geändert.

Allerdings erlaubt die RUBRIQUES-Schleife SPIP, die Feld-Werte für die betreffende Rubrik auszuwählen: daher kann man den #TITRE der Rubrik und ihren #TEXTE abbilden. Beachten Sie, daß diese Instanz von #TEXTE diejenige der Rubrik ist; auch dann, wenn wir innerhalb der ARTICLES-Schleife auch den #TEXTE des Artikels aufrufen sollten. Die Abbildungs-Funktion von SPIP garantiert, daß der #TEXTE eines Artikel nicht mit gleichnamigen Tags in der äußeren Schleife in Konflikt gerät.

Schließlich wurde ein Filter eingeführt: |justifier im #TEXTE-Feld. Dieses Filter richtet den Inhalt des Texts im Blocksatz aus, bevor er in die endgültige Seite eingefügt wird. Wenn Ihnen jetzt nicht das Wasser im Munde zusammenläuft...

Anmerkungen

[1In den ersten Jahren trugen die PHP-Dateien von SPIP die Erweiterung .php3. Sollten in diesem Tutorial noch URLs existieren, die z.B. spip.php3 enthalten, genügt es, die Dateiendung durch .php zu ersetzen, damit der Code mit den neueren SPIP-Versionen funktioniert. Falls etwas unklar bleibt, hilft ein Blick auf die englischen und französischen Fassungen der Artikel, die wie auch alle anderen u.U. vorhandenen Übersetzungen jeweils unter dem Text verlinkt sind.

Autor wshSchlegel Publié le : Mis à jour : 21/03/23

Traductions : عربي, català, corsu, Deutsch, English, Español, français, italiano, Nederlands, polski, Português, русский, slovenčina, Türkçe, українська