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.
Funktionen:
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 |
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.