vtLoop
(Basic, Pro, Master ab 1.0)
Wiederholt den nachfolgenden Codeblock für alle Subseiten der aktuellen Seite
oder (innerhalb eines vtSelect
-Blocks) für alle Seiten, die zur aktuellen
Auswahl gehören.
Verwendung
<!--{{vtLoop}}--> ... <!--{{vtEndLoop}}-->
oder
<!--{{vtLoop: %Seitentyp}}--> ... <!--{{vtEndLoop}}-->
oder
<!--{{vtLoop: -type="%Seitentyp",
-show="%Sichtbarkeit",
-store="%Name",
-size="%Länge",
-sortfield="%Sortierfeld",
-sortorder="%Sortierfolge"
}}-->
...
<!--{{vtEndLoop}}-->
- %Seitentyp
(optional) Wenn sich die
vtLoop
-Anweisung außerhalb einesvtSelect
-Blocks befindet, lässt sich mit diesem Parameter die Wiederholung auf Seiten eines bestimmten Typs beschränken.- %Sichtbarkeit
(optional) Beschränkt die Wiederholung auf Seiten, die eine bestimmte Sichtbarkeitseigenschaft besitzen. Mögliche Werte sind:
Anzeige Bedeutung all
es werden alle Seiten berücksichtigt, für die der aktuelle Benutzer ein Leserecht besitzt visible
es werden nur "sichtbare" Seiten berücksichtigt (eine Seite ist sichtbar, wenn in den Seitenvorgaben die Option "Seite nicht in Menüs und Sitemap anzeigen" deaktiviert ist) viewable
es werden nur "sichtbare" und "darstellbare" Seiten berücksichtigt (eine Seite ist darstellbar, wenn ein Template zu dem betreffenden Seitentyp existiert) Bei fehlender Angabe verhält sich
vtLoop
, als wärevisible
angegeben.- %Name
(optional) Name, unter der die Seitenliste gespeichert werden soll. Das Speichern ermöglicht es, zwischen den einzelnen Seiten der Liste mit Hilfe der speziellen Seitenangaben
>
und<
vor- und zurückzublättern.- %Länge
(optional) Maximale Zahl von Wiederholungen. Wenn es mehr Seiten gibt als diesem Wert entspricht, werden die überzähligen Seiten nicht mehr durchlaufen. Durch diesen Parameter wird die Seitenliste in sogenannte Portionen unterteilt, die mit Hilfe des URL-Parameters
-prt
einzeln durchlaufen werden können. Fügt man zum Beispiel-prt=2
in den Seitenaufruf ein, wird die zweite Portion durchlaufen, mit-prt=3
die dritte etc. Mit dem PlatzhaltervtPortions
ist es auf einfache Weise möglich, ein komplettes "Portionierungsmenü" aufzubauen.- %Sortierfeld
(optional, ab v3.0.1) Name des Feldes, nach dem die Seiten sortiert werden sollen. Mögliche Werte sind
vtName
,vtPageType
,vtCreationDate
undvtModificationDate
. Ist ein %Seitentyp angegeben, können Sie auch den Namen eines Platzhalters verwenden, der in dem betreffenden Template vorkommt. Bei fehlender Angabe wird das Sortierfeld verwendet, das in der umschließendenvtSelect
-Anweisung oder (wenn sichvtLoop
außerhalb einesvtSelect
-Blocks befindet) in den Vorgaben der aktuellen Seite festgelegt ist. Dieser Parameter wird ignoriert, wenn Sie die Sortierfolgerandom
verwenden.- %Sortierfolge
(optional, ab v3.0.1) Die gewünschte Art der Sortierung. Mögliche Werte sind:
Wert Bedeutung ascending
oderasc
Sortierung in aufsteigender Folge descending
oderdesc
Sortierung in absteigender Folge random
Sortierung nach Zufallsprinzip (bei jedem Seitenaufruf anders) Bei fehlender Angabe wird die Sortierfolge verwendet, die in der umschließenden
vtSelect
-Anweisung oder (wenn sichvtLoop
außerhalb einesvtSelect
-Blocks befindet) in den Vorgaben der aktuellen Seite festgelegt ist.
Hinweise
Mit vtLoop
lassen sich Listen und Navigationsmenüs aufbauen, die sich beim
Hinzufügen und Entfernen von Seiten automatisch anpassen. Alle innerhalb des
vtLoop
-Blocks verwendeten Platzhalter werden im Kontext der gerade
durchlaufenen Seite interpretiert (siehe Kapitel "Seitenkontext"). Auch ein
Verschachteln von vtLoop
-Blöcken ist möglich.
Die Angabe eines %Seitentyps hat -- abgesehen von der Eingrenzung der zu
durchlaufenden Subseiten -- noch eine weitere Auswirkung: Beim Erstellen einer
neuen Subseite wird die Template-Auswahl übersprungen und sofort das
Erstellenformular für den angegebenen Seitentyp eingeblendet. Dies funktioniert
selbst dann, wenn zu dem angegebenen Seitentyp überhaupt kein Template
existiert. Das Erstellenformular stellt dann für alle freien Platzhalter, die
sich innerhalb des vtLoop
-Blocks befinden, entsprechende Eingabefelder zur
Verfügung.
Gibt es mehrere nebengeordnete (nicht-verschachtelte) vtLoop
-Anweisungen mit
Seitentypangabe, wird beim Erstellen einer neuen Seite eine Auswahl mit den
verwendeten Seitentypen eingeblendet. Gibt es vtLoop
-Anweisungen sowohl mit
als auch ohne Seitentypangabe, werden alle verfügbare Seitentypen eingeblendet.
Beispiel 1
<!--{{vtLoop: -show="viewable"}}-->
<p>{{Headline}}<br>{{Intro}} <a href="{{vtLink}}">mehr</a></p>
<!--{{vtEndLoop}}-->
Beispiel 2
<table>
<tr>
<th>Name</th>
<th>Vorname</th>
<th>Telefon</th>
</tr>
<!--{{vtLoop: -type="kontakt", -store="Kontaktliste"}}-->
<tr>
<td><a href="{{vtLink}}">{{Name}}</a></td>
<td>{{Vorname}}</td>
<td>{{Telefon}}</td>
</tr>
<!--{{vtEndLoop}}-->
</table>