# bx:userrecord

Das Tag `userrecord` erzeugt eine Schleife aus den Datensätzen einer Liste, in denen ein Wert der ID des angemeldeten Users entspricht. Ist kein Benutzer angemeldet, macht dieses Tag nichts.

## Vergleich mit einem Feld im Container

```xml
<bx:userrecord pool="{id}" field="{feld}" [dummy]> Inhalt </bx:userrecord>
<bx:userrecord pool="{id}" field="{feld}" [type="id"] [seperator="{,}{;"][dummy] />
```

Hier wird der Inhalt des Datensatz-Feldes `<feld>` mit der UserID verglichen - aber ACHTUNG! keine BC-Verknüpfung sondern ein Textfeld, wo die ID drin steht.
Falls kein Inhalt angegeben wurde, wird der Titel des Datensatzes ausgegeben.

Ab V 2.7.0: Das Feld "field" kann auch eine BC-Verknüpfung sein.

| pool | ID des Containers |
| --- | --- |
| field | BC-Verknüpfungs-Feld (das die ID des eingeloggten Users enthalten kann) |
| dummy | falls kein User angemeldet ist oder kein passender Datensatz gefunden wurde,<br>wird ein Dummy-Datensatz angezeigt |
| type="id" | Ausgabe der DS-IDs |
| seperator="," | Trenner zwischen den IDs (siehe Beispiel) |

### Beispiele

```xml
<bx:userrecord pool="Merkliste" field="BC" type="id" separator="," orderby="Nachname" desc />

```

Alle dem User zugeordneten Datensatz-IDs aus Merkliste mit Komma getrennt in die Seite schreiben

```xml
<bx:userrecord pool="Mitarbeiter" field="BC" type="id" />

```

Vom erstbesten (und hoffentlich einzigen) Datensatz aus Mitarbeiter, dem der eingeloggte User zugeordnet ist, die Datensatz-ID in die Seite schreiben

(mit zusätzlichen orderby kann man auch den ersten im Alphabet oder mit desc den Neuesten nehmen)

## Vergleich mit einer Metaangabe im Datensatz

```xml
<bx:userrecord pool="{id}" name="{meta}" [dummy]> Inhalt </bx:userrecord>
<bx:userrecord pool="{id}" name="{meta}" [dummy] />
```

Falls kein Inhalt angegeben wurde, wird der Titel des Datensatzes ausgegeben.

| pool | ID des Containers |
| --- | --- |
| name | erhält hier den Name eines Meta-Wertes der Datensätze,<br>dessen Inhalt wird dann mit der UserID verglichen. |
| dummy | falls kein User angemeldet ist oder kein passender Datensatz gefunden wurde,<br>wird ein Dummy-Datensatz angezeigt |

### Beispiele

```xml
Eingeloggt als: <bx:userrecord pool="Mitarbeiter" name="mitarbeiterID"><bx:recordfield.Vorname/> <bx:recordfield.Name/></bx:userrecord>
```

Im Datensatz des Containers "Mitarbeiter" gibt es eine Meta-Angabe namens "mitarbeiterID", in der die Datensatzid des Users steht.

## Datensatzid als Metaangabe beim User gespeichert

```xml
<bx:userrecord pool="..." meta="..." [dummy]>...</bx:userrecord>
```

Der Container-Datensatz, dessen ID im Meta-Wert 'meta' des Users steht oder nichts falls dort keine ID steht.

### Beispiele

```xml
Eingeloggt als: <bx:userrecord pool="Mitarbeiter" meta="mitarbeiterID"><bx:recordfield.Vorname/> <bx:recordfield.Name/></bx:userrecord>
```

Beim User gibt es eine Meta-Angabe namens "mitarbeiterID", in der die Datensatzid des zugehörigen Datensatzes im Container "Mitarbeiter" steht.