> ## Documentation Index
> Fetch the complete documentation index at: https://dokumentation.websale.de/llms.txt
> Use this file to discover all available pages before exploring further.

# Auswahllisten der Adressdaten

> Wie Sie in WEBSALE V8s Land, Anrede, Titel und freie Suffix-Felder als Auswahlliste oder Auswahlknöpfe ausgeben und woher die Einträge jeweils stammen.

Vier Arten von Adressfeldern gibt der Shop nicht als leeres Eingabefeld aus, sondern als Auswahl: Land, Anrede, Titel und die frei definierbaren Suffix-Felder. Der Käufer wählt statt zu tippen, und Sie bekommen Werte, mit denen sich weiterarbeiten lässt.

Alle vier funktionieren im Template nach demselben Muster. Sie unterscheiden sich nur darin, woher ihre Einträge kommen.

| Feld | Einträge stammen aus |
| - | - |
| Land | [`country.dat`](https://dokumentation.websale.de/v8s/referenz/konfigurationen/konfiguration-country-dat), bei der Lieferadresse aus `country_deliv.dat`, falls vorhanden |
| Anrede | [`salutation.dat`](https://dokumentation.websale.de/v8s/referenz/konfigurationen/konfiguration-salutation-dat) |
| Titel | [`title.dat`](https://dokumentation.websale.de/v8s/referenz/konfigurationen/konfiguration-title-dat) |
| `Suffix1` bis `Suffix50` | dem Abschnitt `<A-Suffix…>` beziehungsweise `<D-Suffix…>` der `shop.config` |

Land, Anrede und Titel pflegen Sie in Dateien, die für den ganzen Shop gelten. Zeilen, die Sie dort entfernen, verschwinden aus allen Auswahllisten. Umgekehrt erscheint ein neu eingetragenes Land überall, auch dort, wo Sie es vielleicht nicht liefern wollen.

## Schritt 1: Feld aktivieren

Ein Adressfeld ist aktiv, sobald hinter dem Gleichheitszeichen ein Wert steht. Dieser Wert ist zugleich die Beschriftung.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<AddressFields-Txt>
   Country    = Land
   Salutation = Anrede
   Title      = Titel
   Suffix1    = Wie sind Sie auf uns aufmerksam geworden?
</AddressFields-Txt>
```

Für die Lieferadresse gilt dasselbe im Abschnitt `<[DeliveryAddressFields-Txt](/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/adressen-und-eingabepruefung#deliveryaddressfields-txt)>`.

## Schritt 2: Einträge festlegen

Dieser Schritt betrifft nur die Suffix-Felder. Land, Anrede und Titel beziehen ihre Einträge aus den oben genannten Dateien.

Zu jedem Suffix-Feld gehört ein gleichnamiger Abschnitt, `<A-Suffix1>` bis `<A-Suffix50>` für die Rechnungsadresse und `<D-Suffix1>` bis `<D-Suffix50>` für die Lieferadresse. Jeder Eintrag besteht aus dem angezeigten `Name` und dem gespeicherten `Value`.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<A-Suffix1>
   <+Entry>
      Name  = Internet
      Value = 01
   </+Entry>
   <+Entry>
      Name  = Werbung
      Value = 02
   </+Entry>
</A-Suffix1>
```

Was der Käufer in einem Suffix-Feld wählt, landet in den Kundendaten **und** in den Bestelldaten. Es steht also beim nächsten Besuch wieder da.

## Schritt 3: Liste ins Template setzen

Das Muster ist für alle vier Feldarten gleich. Sie bauen das `<select>` selbst und füllen es mit einer Schleife über `_data`.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<label for="~A-Country_input~">~A-Country_text~ {A-Country_required}*{/A-Country_required}</label>
<select name="~A-Country_input~" id="~A-Country_input~" class="select_country~A-Country_error~">
   {@A-Country_data}
      <option value="~A-Country_code~" ~A-Country_selected~>~A-Country_value~</option>
   {/@A-Country_data}
</select>
{A-Country_errormessage}~A-Country_errormessage~{/A-Country_errormessage}
```

Für Anrede, Titel und Suffix-Felder tauschen Sie nur den Feldnamen: `A-Salutation_…`, `A-Title_…`, `A-Suffix1_…`. Für die Lieferadresse tritt `D-` an die Stelle von `A-`.

| Tag-Endung | Liefert |
| - | - |
| `_text` | Beschriftung des Feldes |
| `_input` | Feldname für das HTML-Formular |
| `_data` | Schleife über die Einträge |
| `_code` | gespeicherter Wert eines Eintrags |
| `_value` | angezeigter Text eines Eintrags |
| `_selected` | markiert den gewählten Eintrag |
| `_required` | Klammerung: Feld ist Pflichtfeld |
| `_error` | Namenszusatz für die Fehlerklasse |
| `_errormessage` | Fehlertext zu diesem Feld |
| `_action` | Klammerung: Feld löst das Nachladen der Adressfelder aus |

Die Listen gehören in das Formular auf den Templates, die Adressen entgegennehmen: `ws_address_combined.htm` im Bestellablauf sowie `ws_address_manage.htm` beziehungsweise `ws_deliv_address_manage.htm` im Kundenkonto.

Soll die Auswahl andere Felder ein- oder ausblenden, kommt `{…_action}` mit dem AJAX-Aufruf hinzu. Wie das zusammenspielt, steht bei der eingabeabhängigen Adressdatensteuerung.

Wegweiser: [Auswahl zwischen Privat- und Geschäftsadresse](https://dokumentation.websale.de/v8s/adressdaten/auswahl-zwischen-privat-und-geschaeftsadresse.md) · [Auswahl zwischen postalischer Lieferadresse und Packstation](https://dokumentation.websale.de/v8s/adressdaten/auswahl-zwischen-postalischer-lieferadresse-und-packstation.md)

## Darstellung als Auswahlknöpfe

Bei wenigen Einträgen sind Auswahlknöpfe die freundlichere Darstellung: Der Käufer sieht alle Möglichkeiten auf einen Blick und braucht einen Klick statt zwei. Die Tags sind dieselben, nur das umgebende HTML ändert sich.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<fieldset>
   <legend>~A-Salutation_text~ {A-Salutation_required}*{/A-Salutation_required}</legend>
   {@A-Salutation_data}
      <label>
         <input type="radio" name="~A-Salutation_input~" value="~A-Salutation_code~"
            {A-Salutation_selected}checked{/A-Salutation_selected}>
         ~A-Salutation_value~
      </label>
   {/@A-Salutation_data}
</fieldset>
```

Die Auswahlknöpfe teilen sich einen Namen und dürfen deshalb keine gemeinsame `id` bekommen. Umschließen Sie jeden Knopf mit seinem eigenen `label`, statt mit `for` auf eine `id` zu verweisen.

## Eine gespeicherte Lieferadresse auswählen

Etwas anderes als die vier Feldarten oben ist die Auswahl **einer bereits gespeicherten Lieferadresse**. Hier stehen nicht Einträge aus einer Konfiguration zur Wahl, sondern die Adressen des angemeldeten Käufers.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{D-DeliverySelection}
   <select name="~D-DeliverySelection_input~">
      {@D-Data}
         <option value="~D-DeliverySelection_value~"
            {D-DeliverySelection_selected}selected{/D-DeliverySelection_selected}>
            {D-UserDescr}~D-UserDescr~, {/D-UserDescr}~D-FirstName~ ~D-LastName~, ~D-Country~
         </option>
      {/@D-Data}
   </select>
{/D-DeliverySelection}
```

Die Klammerung `{D-UserDescr}` stellt die eigene Bezeichnung des Käufers voran, sofern er eine vergeben hat, beispielsweise „Büro, Max Mustermann, Deutschland".

## Ältere Integrationsmethoden

Für Land, Anrede und Titel gibt es eine ältere, kürzere Schreibweise. Statt das `<select>` selbst zu bauen, geben Sie mit `_list` die fertige Liste aus.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<label>~A-Country_text~</label>
~A-Country_list~
```

> [!WARNING]
>
> Diese Variante funktioniert weiterhin, gibt Ihnen aber kein HTML in die Hand. Sie können weder eigene Klassen vergeben noch Auswahlknöpfe daraus machen noch die Liste in das Nachladen der Adressfelder einbinden. Für neue Templates nehmen Sie die Schreibweise aus Schritt 3.

### Benutzerdefinierte Auswahllisten (UserDefList)

> [!WARNING]
>
> `UserDefList-1` bis `UserDefList-3` werden **nicht mehr unterstützt**. Verwenden Sie stattdessen Suffix-Felder. Diese haben den Vorteil, dass die Auswahl dauerhaft in den Kundendaten gespeichert wird, während eine UserDefList-Auswahl nur in den Bestelldaten mitlief und beim nächsten Besuch wieder leer war.

Die alte Einrichtung bestand aus einem Eintrag in `<[AddressFields-Txt](/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/adressen-und-eingabepruefung#addressfields-txt)>`, einem Abschnitt `<UserDefList-1>` bis `<UserDefList-3>` mit `+Entry`-Zeilen und dem Tag `~A-UserDefList-1_list~` im Template.

## Verwandte Themen

* Wegweiser: [Rechnungsadresse abfragen](https://dokumentation.websale.de/v8s/adressdaten/rechnungsadresse-abfragen.md)
* Wegweiser: [Abweichende Lieferadresse abfragen](https://dokumentation.websale.de/v8s/adressdaten/abweichende-lieferadresse-abfragen.md)
* Wegweiser: [Bildung von Anreden und Titeln festlegen, für die Pflege von `salutation.dat` und `title.dat`](https://dokumentation.websale.de/v8s/adressdaten/bildung-von-anreden-und-titeln-festlegen)
* Wegweiser: [Einstellungen für Rechnungs- und Lieferadressen festlegen, für die Pflege der Länderlisten](https://dokumentation.websale.de/v8s/adressdaten/einstellungen-fuer-rechnungs-und-lieferadressen-festlegen.md)


## Related topics

- [Versandkosten abhängig von Adressdaten](https://dokumentation.websale.de/v8s/anwendungsbeispiele/appex-versandkosten-nach-adressdaten.md)
- [Rechnungsadresse abfragen](https://dokumentation.websale.de/v8s/adressdaten/rechnungsadresse-abfragen.md)
- [Auswahl zwischen Privat- und Geschäftsadresse](https://dokumentation.websale.de/v8s/adressdaten/auswahl-zwischen-privat-und-geschaeftsadresse.md)
- [Auswahl zwischen postalischer Lieferadresse und Packstation](https://dokumentation.websale.de/v8s/adressdaten/auswahl-zwischen-postalischer-lieferadresse-und-packstation.md)
- [Mehrere Adressen: Tags je Template](https://dokumentation.websale.de/v8s/referenz/tags/multiple-adressen.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.