bx:schleife
Das Tag schleife ersetzt das frühere bx:loop. Es können nun mehrere Schleifen in einer Ebene oder geschaltet benutzt werden. Der Inhalt dieses Tags kann beliebig mit anderen Tags versehen werden, z.B. bx:text oder bx:bild.
Um innerhalb der Schleife zu navigieren, benutzt man die Eigenschaften von bx:loop.
Will man auf einer Seite nur eine Iteration vornehmen, dann kann man auch das [bx:tools.for](/books/cms-handbuch-entwickler/page/bx-tools) - Tag nehmen.
Listausgabe
<bx:schleife.{bez} [orderby="{feldname}"] [richtung="desc" | desc] [list="{feldname}"] [showmax="{n}" | single [random] | all] [indexparam="{param}"]>
Inhalt
</bx:schleife.{bez}>
bez
frei wählbarer Titel der Schleife dient auch zum Unterscheiden von mehreren Schleifen einer Seite in der Datenbank dieser Titel ist auch der erwartete Request-Parametername bei Aufruf als Detailseite
orderby
Feldname innerhalb der Schleife, nach dem die Liste sortiert werden soll
richtung
oder nur "desc" dreht die Sortierrichtung um
list
Feld innerhalb der Schleife (z.B. Name), das in der Verwaltung als Datensatz-Titel angezeigt wird Wenn man innerhalb der Schleife mit bx:record einen DS aussuchen kann, dann kann auch der Bezeichner des bx:record genommen werden. (siehe 3. Beispiel)
showmax
Angabe der maximale Anzahl an Elementen
indexparam
Um mehrere blätterbare Listen zu ermöglichen, legen Sie für jede Liste einen eigenen Request-Parameter mittels "indexparam" an.
single / all
- single: Detailseitenmodus - wenn keine ID übergeben wurde, wird nichts angezeigt
- all: Listenmodus, auch wenn eine ID angegeben ist
- single random: ein Random-Element wird angezeigt
Beispiele
Listenseite
<bx:schleife.Cats list="Name">
<bx:loop.count add="1"/> - <a href="detail.htm?Cats=<bx:loop.id/>"><bx:text.Name/></a><br>
</bx:schleife.Cats>
Liste mit Link auf die Detailseite. Der Requestparameter für die Detailseite muß so heißen wie die Schleife (hier "Cats").
Detailseite
<bx:schleife.Cats>
<h1><bx:text.Name/></h1>
<bx:textarea.Beschreibung/>
<bx:bild.Bild/>
</bx:schleife.Cats>
Die Detailseite.
Record
<bx:schleife.Ansprechpartner list="Mitarbeiter">
<bx:record.Mitarbeiter pool="Mitarbeiter><bx:recordfield.Vorname/> <bx:recordfield.Name/></bx:record.Mitarbeiter>
</bx:schleife.Cats>
Es wird das angezeigt, was bei der Containerdefinition definiert wurde.