# bx:record

Das Tag `record` stellt einen Datensatz einer Containerliste auf einer Seite dar. Es kann entweder ein Datensatz in der Verwaltung gewählt, oder direkt im Tag eine ID angegeben werden.

## ein bestimmtes Element anzeigen

```xml
<bx:record.{name} pool="{id}" [id="{id}"] [sub="{name}"] [show="{active | inactive | all}"] [list="{all}"] [size="{n}"]>
  <bx:recordfield.{feldname}/>
</bx:record.{name}>
```

| name | Bezeichner |
| --- | --- |
| pool | ID des betreffenden Containers |
| id | eine ID kann direkt oder über ein [Präfix](/books/cms-handbuch-entwickler/page/parameter-werte) angegeben werden**  nicht angegeben:** bestimmter Datensatz kann in der Administration über ein Auswahlfeld gewählt werden **angegeben:** DS mit dieser ID wird ausgegeben und es erfolgt keine Auswahl in der Administration   <p class="callout warning">Falls `id` verwendet wird, werden auch inaktive Datensätze angezeigt. Soll dies nicht sein, muss zusätzlich `show="active"` angegeben werden.</p> |
| sub | bestimmer Untercontainer kann als Basis für die Datensätze festgelegt werden<br><span style="color: rgb(255,102,0);"> (gilt für alte Container)</span> |
| show | Anzeige von aktiven, inaktiven oder allen Datensätzen |
| list | list=all: im Auswahlfeld in der Verwaltung werden auch die inaktiven DS angezeigt |
| size | Größenangabe für das Select-Tag |

## Angabe eines Filters zur Auswahleinschränkung in der Verwaltung

```xml
<bx:record.Feldname pool="{Container-ID}" name="{Feldname}" type="{Vergleichsart}" value="{Vergleichswert}"> ... </bx:record.Feldname>
```

(ab V 2.7.) Erweiterung im Tag, vergleichbar mit dem Filter am Tag bei  `<bx:containerfilter>` und auch die Felder sind so genannt. Dies schränkt die angezeigte Liste <span style="color: rgb(255,0,0);">in der **Verwaltung**</span> entsprechend des Filters ein.

| name | Name des zu überprüfenden Feldes (siehe auch "<br><a href="http://docs.batix.info/display/DEVS/Filter" target="_blank">Filter</a><br>") |
| --- | --- |
| type | Art des Vergleiches (siehe auch "<br><a href="http://docs.batix.info/display/DEVS/Filter" target="_blank">Filter</a><br>") |
| value | gesuchter Wert (siehe auch "<br><a href="http://docs.batix.info/display/DEVS/Filter" target="_blank">Filter</a><br>")<br>**statisch**<br>: einfach gesuchten Wert angeben (z.B. eine ID)<br>**dynamisch**<br>: mit Präfix (siehe auch "<br><a href="http://docs.batix.info/pages/viewpage.action?pageId=1507396" target="_blank">Präfixe</a><br>") |

### Beispiel

```xml
<bx:record.Beitrag pool="Seitentexte" name="Sprache" type="8" value="system:sprache"> <!-- ID für Sprache ist eine Systemvariable -->
  <a href="detail.htm?rid=<bx:recorddata.id/>"><bx:recordfield.Titel/></a>
</bx:record.Beitrag>
```

Es werden in der Verwaltung nur Beiträge zur Auswahl angezeigt, die die jeweilige Sprache haben. Die ID für die Sprache wird in einer Systemvariablen gespeichert.

## Dummy-Element anzeigen

```xml
<bx:record.{name} pool="{id}" id="attribute:xx" dummy> Inhalt </bx:record.{name}>
```

Ist das id-Feld leer, wird ein Dummy-Datensatz angezeigt, d.h., die im Inhalt angebenen Felder sind leer.

### Beispiel

```xml
<form action="save.act" method="post">
  <bx:record.Kontakt pool="11111111111" id="request:kontaktid" dummy>  
    <bx:if><input type="hidden" name="kontaktid" value="<bx:recorddata.id/>"></bx:if>
    <input type="text" name="Name" value="<bx:recordfield.Name/>">
    <input type="text" name="Vorname" value="<bx:recordfield.Vorname/>">
    <input type="text" name="Email" value="<bx:recordfield.Email/>">
    <input type="submit" value="abschicken">
  </bx:record.Kontakt >
</form>
```

Ein Formular muß nur einmal gebaut werden, da auch der Fall eines leeren Formulars damit abgedeckt ist. Allerdings darf dann die recordid als hidden-Field nicht mit übergeben werden (in ifs einschließen).

## Mehrfach-Auswahl

```xml
<bx:multirecord.{name} pool="{id}" ...> Inhalt </bx:multirecord.{name}>
```

Dieses Tag funktioniert wie bx:record, es können aber mehrere Datensätze ausgewählt werden.