Skip to main content

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>

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.