> ## 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.

# DELIV- (Einzelpositionierung der Versandarten)

> Die Versandarten einzeln im Template aufbauen: Name, Kosten, Verfügbarkeit, Auswahl über Radiobutton und zusätzliche Eingabefelder.

WEBSALE kann die Liste der Versandarten fertig ausgeben. Wer sie stattdessen selbst aufbauen will, weil Logo, Preis, Zusatzfelder und Auswahlknopf anders angeordnet werden sollen, nimmt die Tags mit dem Präfix `DELIV-`.

Alle diese Tags heißen `DELIV-Data` mit einem Zusatz und arbeiten innerhalb einer Schleife: Der Shop läuft einmal durch alle konfigurierten Versandarten, und in jedem Durchlauf beziehen sich die Tags auf genau eine davon.

Gepflegt werden die Versandarten in der Shopkonfiguration `shop.config`, jede in einem eigenen Abschnitt `<+Deliverer>`. Was Sie dort eintragen, geben diese Tags im Template aus.

Wegweiser: [Versandarten anlegen, Abschnitt Einzelpositionierung der Versandarten](https://dokumentation.websale.de/v8s/versandarten-anlegen/versandarten-anlegen.md)

## Das Grundgerüst

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data}
   <fieldset>
      <legend>Versandart wählen</legend>

      {@DELIV-Data}
         <!-- je Durchlauf eine Versandart -->
      {/@DELIV-Data}
   </fieldset>
{/DELIV-Data}

{!DELIV-Data}
   <p>Für diese Bestellung steht keine Versandart zur Verfügung.</p>
{/!DELIV-Data}
```

| Schreibweise | Bedeutung |
| - | - |
| `~DELIV-Data~` | die Anzahl der Versandarten |
| `{DELIV-Data}…{/DELIV-Data}` | greift, wenn es überhaupt Versandarten gibt |
| `{!DELIV-Data}…{/!DELIV-Data}` | greift, wenn es keine gibt |
| `{@DELIV-Data}…{/@DELIV-Data}` | die Schleife über alle Versandarten |

> [!WARNING]
>
> Alle übrigen `DELIV-Data`-Tags gehören in die Schleife. Außerhalb davon steht keine Versandart fest, auf die sie sich beziehen könnten.

Die Tags lassen sich auf allen Templates verwenden, ihr angestammter Platz ist die Zahlungs- und Versandartenseite `ws_pay_deliv.htm`. Eine Ausnahme gilt bei MultiDelivery und Split-Order: dort sind sie nur innerhalb der Schleife `{@BASKET-PR-Data}` zulässig.

## Das vollständige Beispiel

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data}
   {@DELIV-Data}
      <div id="~DELIV-Data_html_id(main)~"
           class="~DELIV-Data_html_class_global(main)~ ~DELIV-Data_html_class_counter(main)~
                  ~DELIV-Data_html_class_active(main)~ ~DELIV-Data_html_class_disable(main)~">

         <input id="~DELIV-Data_Selection_html_id~"
                class="~DELIV-Data_Selection_html_class_global~ ~DELIV-Data_Selection_html_class_active~"
                type="radio"
                name="~DELIV-Data_Selection_radioname~"
                value="~DELIV-Data_Selection_radiovalue~"
                ~DELIV-Data_Selection_disabled~
                ~DELIV-Data_Selection_checked~
                onClick="~DELIV-Data_Selection_html_js_onclick~">

         <label for="~DELIV-Data_Selection_html_id~">
            {DELIV-Data_Image}<img src="~DELIV-Data_Image~" alt="">{/DELIV-Data_Image}
            ~DELIV-Data_NameSuffix~
            {DELIV-Data_Cost}<span class="kosten">~DELIV-Data_Cost~ ~WS-CurrencySymbol~</span>{/DELIV-Data_Cost}
            {!DELIV-Data_Cost}<span class="kosten">versandkostenfrei</span>{/!DELIV-Data_Cost}
         </label>

         {DELIV-Data_Suffix}
            <p class="beschreibung">~DELIV-Data_Suffix~</p>
         {/DELIV-Data_Suffix}

         {DELIV-Data_disabled}
            <p class="hinweis">~DELIV-Data_disabledmessage~</p>
         {/DELIV-Data_disabled}
      </div>
   {/@DELIV-Data}
{/DELIV-Data}
```

## Die Angaben zur Versandart

| Tag | Liefert | Kommt aus |
| - | - | - |
| `DELIV-Data_name` | den Namen | `<+Deliverer>` |
| `DELIV-Data_NameSuffix` | den Namen zusammen mit `Country-Txt` und `NoCost-Txt` | `<+Deliverer>` |
| `DELIV-Data_Suffix` | die ergänzende Beschreibung | Parameter `Suffix-Txt` |
| `DELIV-Data_Country` | den Zusatz zum Land | Parameter `Country-Txt` |
| `DELIV-Data_type` | den frei vergebenen Typ | Parameter `Type` |
| `DELIV-Data_id` | die eindeutige Kennung | Parameter `ID` |
| `DELIV-Data_index` | die laufende Position in der Liste | Reihenfolge der `<+Deliverer>`-Abschnitte |
| `DELIV-Data_Image` | den Pfad zum Symbol | Parameter `Img` |
| `DELIV-Data_Image_link` | die hinterlegte Adresse für weitere Informationen | Parameter `Link` |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_Image}
   <a href="~DELIV-Data_Image_link~" target="_blank" rel="noopener">
      <img src="~DELIV-Data_Image~" alt="~DELIV-Data_name~">
   </a>
{/DELIV-Data_Image}
```

`DELIV-Data_NameSuffix` erspart in den meisten Fällen die Einzelteile. Es gibt den Namen bereits mit den beiden Zusätzen aus, die zum Land und zur Versandkostenfreiheit konfiguriert sind.

`DELIV-Data_type` ist ein freies Feld. Damit lassen sich Versandarten im Template gruppieren, beispielsweise alle Expressvarianten zusammen darstellen, ohne ihre IDs im Template zu nennen.

### Ein eigenes onClick am Symbol

`DELIV-Data_Image_html_js_onclick` gibt aus, was im `<+Deliverer>`-Abschnitt als Klickaktion für das Symbol hinterlegt ist.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_Image}
   <img src="~DELIV-Data_Image~" alt=""
      {DELIV-Data_Image_html_js_onclick}
         onClick="~DELIV-Data_Image_html_js_onclick~"
      {/DELIV-Data_Image_html_js_onclick}>
{/DELIV-Data_Image}
```

In der konfigurierten Aktion dürfen die beiden Platzhalter `~ID~` und `~Link~` stehen. Der Shop ersetzt sie beim Ausgeben durch die Kennung der Versandart und die hinterlegte Adresse. So genügt ein Eintrag in der Konfiguration für alle Versandarten.

## Die Kosten

| Tag | Liefert |
| - | - |
| `DELIV-Data_Cost` | die Versandkosten in der Shopwährung |
| `DELIV-Data_NetCost` | dieselben Kosten netto |
| `DELIV-Data_GrossCost` | dieselben Kosten brutto |
| `DELIV-Data_AltCurrencyCost` | die Kosten in der alternativen Währung |
| `DELIV-Data_AltCurrencyNetCost` | netto in der alternativen Währung |
| `DELIV-Data_AltCurrencyGrossCost` | brutto in der alternativen Währung |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_Cost}
   Versandkosten: ~DELIV-Data_Cost~ ~WS-CurrencySymbol~
{/DELIV-Data_Cost}

{!DELIV-Data_Cost}
   Versandkostenfrei
{/!DELIV-Data_Cost}
```

> [!WARNING]
>
> Die Klammerung greift nur, wenn der Betrag **größer als null** ist. Bei einer versandkostenfreien Versandart greift deshalb der negative Bereich, und genau das ist die saubere Stelle für den Hinweis "versandkostenfrei". Dasselbe gilt für alle anderen Kosten- und Rabatt-Tags dieser Seite.

Alle Kostenangaben werden mit der Preisformatierung ausgegeben, die in der Shopkonfiguration eingestellt ist. Sie enthalten kein Währungszeichen, das setzen Sie selbst, beispielsweise mit `WS-CurrencySymbol`.

### Kundenindividuelle Rabatte

Ist für den angemeldeten Käufer ein Rabatt auf die Versandkosten hinterlegt, geben ihn vier Tags aus.

| Tag | Liefert |
| - | - |
| `DELIV-Data_UserDeliveryCostDiscount` | den Rabattbetrag |
| `DELIV-Data_UserDeliveryCostNetDiscount` | den Rabattbetrag netto |
| `DELIV-Data_UserDeliveryCostGrossDiscount` | den Rabattbetrag brutto |
| `DELIV-Data_UserDeliveryCostDiscountRate` | den Rabattsatz in Prozent |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ST-LoggedIn}
   {DELIV-Data_UserDeliveryCostDiscount}
      <p>Ihr Versandkostenrabatt: ~DELIV-Data_UserDeliveryCostDiscount~ ~WS-CurrencySymbol~
         (~DELIV-Data_UserDeliveryCostDiscountRate~ Prozent)</p>
   {/DELIV-Data_UserDeliveryCostDiscount}
{/ST-LoggedIn}
```

Der Rabattsatz wird als reine Zahl mit zwei Nachkommastellen ausgegeben, ohne Preisformatierung und ohne Prozentzeichen. Die Beträge dagegen folgen der Preisformatierung des Shops.

## Verfügbarkeit und Auswahl

Eine Versandart kann für diese Bestellung gesperrt sein, beispielsweise weil das Lieferland nicht passt oder das Gewicht überschritten ist. Sie verschwindet dann nicht aus der Liste, sondern wird als nicht verfügbar markiert.

| Tag | Wirkung |
| - | - |
| `DELIV-Data_disabled` | greift, wenn die Versandart nicht verfügbar ist |
| `DELIV-Data_disabledmessage` | der Hinweistext dazu |
| `DELIV-Data_disabledcode` | der technische Ablehnungsgrund |
| `DELIV-Data_selected` | greift, wenn diese Versandart gewählt ist |
| `DELIV-Data_IsDefault` | greift, wenn dies die im Kundenkonto hinterlegte Standardversandart ist |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_disabled}
   <p class="nicht-verfuegbar">~DELIV-Data_disabledmessage~</p>
{/DELIV-Data_disabled}

{!DELIV-Data_disabled}
   {DELIV-Data_selected}<span class="gewaehlt">Ihre Auswahl</span>{/DELIV-Data_selected}
{/!DELIV-Data_disabled}
```

`DELIV-Data_disabledmessage` ist der Text für den Käufer, `DELIV-Data_disabledcode` die technische Kennung desselben Grundes. Den Code brauchen Sie, wenn Sie je nach Grund etwas anderes anzeigen wollen, beispielsweise bei einer Gewichtsüberschreitung einen Link zur Teillieferung.

`DELIV-Data_IsDefault` greift, wenn der angemeldete Käufer in seinem Kundenkonto eine Standardversandart hinterlegt hat und diese es ist.

Referenz: Liste der Ablehnungsgründe

## Der Auswahlknopf

Acht Tags liefern alles, was der Radiobutton braucht. Sie müssen keinen Namen und keine Kennung selbst erfinden.

| Tag | Liefert |
| - | - |
| `DELIV-Data_Selection_html_id` | die eindeutige ID des Radiobuttons |
| `DELIV-Data_Selection_html_class_global` | die CSS-Klasse für alle Radiobuttons |
| `DELIV-Data_Selection_html_class_active` | zusätzlich die Klasse für die gewählte Versandart |
| `DELIV-Data_Selection_radioname` | den gemeinsamen Feldnamen der Gruppe |
| `DELIV-Data_Selection_radiovalue` | die Kennung der Versandart als Wert |
| `DELIV-Data_Selection_checked` | `checked`, wenn diese Versandart gewählt ist |
| `DELIV-Data_Selection_disabled` | `disabled`, wenn sie nicht verfügbar ist |
| `DELIV-Data_Selection_html_js_onclick` | die konfigurierte Klickaktion |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<input id="~DELIV-Data_Selection_html_id~"
       class="~DELIV-Data_Selection_html_class_global~ ~DELIV-Data_Selection_html_class_active~"
       type="radio"
       name="~DELIV-Data_Selection_radioname~"
       value="~DELIV-Data_Selection_radiovalue~"
       ~DELIV-Data_Selection_disabled~
       ~DELIV-Data_Selection_checked~
       onClick="~DELIV-Data_Selection_html_js_onclick~">
```

Daraus wird im Shop, wenn `XX` die Kennung der Versandart ist:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<input id="ws_deliverydiv_inputelement_XX"
       class="ws_deliverydiv_inputelement ws_deliverydiv_inputelement_active"
       type="radio"
       name="ws_input_delivery"
       value="XX"
       checked
       onClick="selectDeliverer('XX');">
```

> [!WARNING]
>
> Der Feldname aus `DELIV-Data_Selection_radioname` muss übernommen werden. Ein selbst gewählter Name kommt im Shop nicht an, die Auswahl bleibt dann wirkungslos.

In der konfigurierten Klickaktion dürfen die Platzhalter `~ID~` und `~RadioButtonID~` stehen. Der Shop ersetzt sie durch die Kennung der Versandart und die ID des Radiobuttons.

## CSS-Klassen und IDs

Fünf Tags erzeugen IDs und Klassen für die einzelnen Bausteine einer Versandart. Sie alle erwarten in den Klammern den Namen des Bausteins.

| Tag | Wann gesetzt |
| - | - |
| `DELIV-Data_html_id()` | immer, eine eindeutige ID je Baustein und Versandart |
| `DELIV-Data_html_class_global()` | immer, dieselbe Klasse für alle Versandarten |
| `DELIV-Data_html_class_counter()` | immer, fortlaufend nummeriert |
| `DELIV-Data_html_class_active()` | nur bei der gewählten Versandart |
| `DELIV-Data_html_class_disable()` | nur bei einer nicht verfügbaren Versandart |

Gültige Bausteinnamen sind `main`, `logo`, `radio`, `text`, `name`, `suffix`, `clear`, `disabled`, `additionalinput`, `additionalinput_checkbox`, `additionalinput_name`, `additionalinput_input`, `additionalinput_list`, `additionalinput_infotext` und `additionalinput_error`.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<p id="~DELIV-Data_html_id(name)~"
   class="~DELIV-Data_html_class_global(name)~ ~DELIV-Data_html_class_counter(name)~
          ~DELIV-Data_html_class_active(name)~ ~DELIV-Data_html_class_disable(name)~">
   ~DELIV-Data_name~
</p>
```

`DELIV-Data_html_class_counter()` nummeriert die Versandarten durch. Damit lässt sich jede zweite Zeile anders einfärben, ohne im Template zu rechnen.

> [!WARNING]
>
> Ohne Bausteinnamen in den Klammern ist das Tag ungültig und bleibt wirkungslos.

Für den Container der Zusatzfelder gibt es zusätzlich `DELIV-Data_html_class_additionalinput_global()`. Es nimmt nur die Bausteinnamen, die mit `additionalinput` beginnen.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@DELIV-Data_AdditionalInput}
   <div id="~DELIV-Data_html_id(additionalinput)~"
        class="~DELIV-Data_html_class_additionalinput_global(additionalinput)~
               ~DELIV-Data_html_class_global(additionalinput)~
               ~DELIV-Data_html_class_counter(additionalinput)~
               ~DELIV-Data_html_class_active(additionalinput)~
               ~DELIV-Data_html_class_disable(additionalinput)~">
      ...
   </div>
{/@DELIV-Data_AdditionalInput}
```

## Zusätzliche Eingabefelder

Manche Versandarten brauchen eine Angabe vom Käufer: ein Wunschdatum, eine Ablagestelle, das Einverständnis mit einer Zustellung ohne Unterschrift. Solche Felder werden in der Shopkonfiguration im Abschnitt `<DelivererAdditionalInput-Definitions>` definiert und den Versandarten zugeordnet.

`DELIV-Data_AdditionalInput` ist die Schleife darüber.

| Tag | Liefert |
| - | - |
| `DELIV-Data_AdditionalInput` | die Anzahl der Felder, die Prüfung auf Felder und die Schleife |
| `DELIV-Data_AdditionalInput_ID` | die technische Kennung des Feldes |
| `DELIV-Data_AdditionalInput_descr` | die Feldbeschriftung aus `FieldDescr` |
| `DELIV-Data_AdditionalInput_additionalinfotext` | den erklärenden Text aus `AdditionalInfoText` |
| `DELIV-Data_AdditionalInput_input` | den Feldnamen für das HTML-Element |
| `DELIV-Data_AdditionalInput_value` | den bisherigen Wert des Käufers |
| `DELIV-Data_AdditionalInput_value_txt` | bei einer Auswahlliste den Text zum gewählten Wert |
| `DELIV-Data_AdditionalInput_maxlength` | die zulässige Zeichenzahl aus `MaxLength` |
| `DELIV-Data_AdditionalInput_required` | greift, wenn das Feld ausgefüllt werden muss |
| `DELIV-Data_AdditionalInput_error` | greift, wenn die Eingabe fehlerhaft war |
| `DELIV-Data_AdditionalInput_errormessage` | die Fehlermeldung aus `RequiredErrorMessage-Txt` |

### Die drei Feldarten unterscheiden

Ein Zusatzfeld ist entweder eine Auswahlliste, ein Texteingabefeld oder eine Checkbox. Für jede Art gibt es ein Bereichs-Tag.

| Tag | Greift bei | `Type_code` |
| - | - | - |
| `DELIV-Data_AdditionalInput_Type_isListbox` | einer Auswahlliste | 0 |
| `DELIV-Data_AdditionalInput_Type_isInput` | einem Texteingabefeld | 1 |
| `DELIV-Data_AdditionalInput_Type_isCheckbox` | einer Checkbox | 3 |

`DELIV-Data_AdditionalInput_Type_code` gibt dieselbe Information als Zahl aus. Für die Fallunterscheidung im Template sind die drei Bereichs-Tags der bessere Weg, weil sie lesbar bleiben.

> [!WARNING]
>
> Der Code 2 steht für einen Radiobutton. Dafür gibt es weder ein eigenes Bereichs-Tag noch eine Auswertung in `DELIV-Data_AdditionalInput_value`. Verwenden Sie für Zusatzfelder deshalb nur die drei oben genannten Arten.

### Das vollständige Beispiel

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_AdditionalInput}
   {@DELIV-Data_AdditionalInput}
      <div class="~DELIV-Data_html_class_global(additionalinput)~">

         {DELIV-Data_AdditionalInput_Type_isInput}
            <label for="~DELIV-Data_AdditionalInput_input~">
               ~DELIV-Data_AdditionalInput_descr~
               {DELIV-Data_AdditionalInput_required}<span aria-hidden="true">*</span>{/DELIV-Data_AdditionalInput_required}
            </label>
            <input type="text"
                   id="~DELIV-Data_AdditionalInput_input~"
                   name="~DELIV-Data_AdditionalInput_input~"
                   value="~DELIV-Data_AdditionalInput_value~"
                   maxlength="~DELIV-Data_AdditionalInput_maxlength~">
         {/DELIV-Data_AdditionalInput_Type_isInput}

         {DELIV-Data_AdditionalInput_Type_isCheckbox}
            <input type="checkbox"
                   id="~DELIV-Data_AdditionalInput_input~"
                   name="~DELIV-Data_AdditionalInput_input~"
                   ~DELIV-Data_AdditionalInput_value~>
            <label for="~DELIV-Data_AdditionalInput_input~">~DELIV-Data_AdditionalInput_descr~</label>
         {/DELIV-Data_AdditionalInput_Type_isCheckbox}

         {DELIV-Data_AdditionalInput_Type_isListbox}
            <label for="~DELIV-Data_AdditionalInput_input~">~DELIV-Data_AdditionalInput_descr~</label>
            <select id="~DELIV-Data_AdditionalInput_input~" name="~DELIV-Data_AdditionalInput_input~">
               {@DELIV-Data_AdditionalInput_listbox}
                  <option value="~DELIV-Data_AdditionalInput_listbox_value~"
                          ~DELIV-Data_AdditionalInput_listbox_selected~>
                     ~DELIV-Data_AdditionalInput_listbox_value_txt~
                  </option>
               {/@DELIV-Data_AdditionalInput_listbox}
            </select>
         {/DELIV-Data_AdditionalInput_Type_isListbox}

         {DELIV-Data_AdditionalInput_additionalinfotext}
            <p class="hinweis">~DELIV-Data_AdditionalInput_additionalinfotext~</p>
         {/DELIV-Data_AdditionalInput_additionalinfotext}

         {DELIV-Data_AdditionalInput_error}
            <p class="fehler">~DELIV-Data_AdditionalInput_errormessage~</p>
         {/DELIV-Data_AdditionalInput_error}
      </div>
   {/@DELIV-Data_AdditionalInput}
{/DELIV-Data_AdditionalInput}
```

Bei einer Checkbox gibt `DELIV-Data_AdditionalInput_value` das Wort `checked` aus, wenn der Käufer sie gesetzt hatte. Es gehört deshalb ohne Attributnamen in das Element. Bei einem Texteingabefeld ist es der eingegebene Text und gehört in `value`. Bei einer Auswahlliste ist es die technische Kennung des gewählten Eintrags, den lesbaren Text liefert `DELIV-Data_AdditionalInput_value_txt`.

> [!WARNING]
>
> Übernehmen Sie den Feldnamen aus `DELIV-Data_AdditionalInput_input` unverändert. Er enthält neben der Feldkennung auch die Position der Versandart, und bei der Auswahl je Warenkorbposition zusätzlich eine Kennung der Position. Ein selbst gewählter Name kommt im Shop nicht an.

### Die Einträge einer Auswahlliste

`DELIV-Data_AdditionalInput_listbox` ist die Schleife über die Einträge aus den `<+listentry>`-Abschnitten.

| Tag | Liefert |
| - | - |
| `DELIV-Data_AdditionalInput_listbox` | die Anzahl der Einträge und die Schleife |
| `DELIV-Data_AdditionalInput_listbox_value` | die Kennung des Eintrags aus `ID` |
| `DELIV-Data_AdditionalInput_listbox_value_txt` | den Text des Eintrags aus `Entry-Txt` |
| `DELIV-Data_AdditionalInput_listbox_selected` | `selected` beim gewählten Eintrag |

Bei einem Feld, das keine Auswahlliste ist, läuft die Schleife einfach nicht. Eine zusätzliche Abfrage auf `Type_isListbox` ist deshalb nicht zwingend, macht das Template aber lesbarer.

## Freie Zusatzinformationen

Für Angaben, die keines der festen Felder abdeckt, gibt es `DELIV-Data_AdditionalInfo-<id>`. Die Werte tragen Sie im jeweiligen `<+Deliverer>`-Abschnitt mit dem Parameter `+AdditionalInfo-<id>` ein.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{DELIV-Data_AdditionalInfo-deliv-time_01}
   Voraussichtliche Zustellung: ~DELIV-Data_AdditionalInfo-deliv-time_01~
{/DELIV-Data_AdditionalInfo-deliv-time_01}
```

> [!WARNING]
>
> Die Kennung darf nur aus Buchstaben, Ziffern, Bindestrichen und Unterstrichen bestehen. Leerzeichen und Umlaute sind nicht möglich.

Groß- und Kleinschreibung der Kennung spielt keine Rolle. Bleiben Sie trotzdem bei einer Schreibweise, damit Konfiguration und Template zusammenpassend lesbar bleiben.

Daneben gibt es `DELIV-Data_DestDepInfo`. Es gibt eine vom Zielort abhängige Zusatzangabe zur Versandart aus, die der Shop selbst ermittelt.

> [!WARNING]
>
> Woher die Angabe im Einzelnen stammt, ist noch zu klären. Prüfen Sie das Ergebnis in Ihrem Shop, bevor Sie sich darauf verlassen.

## Versandart je Warenkorbposition

Bietet der Shop die Versandart je Warenkorbposition oder je Lieferadresse zur Auswahl an, steht die Schleife innerhalb von `{@BASKET-PR-Data}`. Der Shop hängt dann an die Feldnamen und IDs eine zusätzliche Kennung an, damit sich die Auswahlgruppen nicht in die Quere kommen.

| Tag | Liefert |
| - | - |
| `DELIV-Data_DeliverySelectionPerBasketPosition_hashindex` | diese Kennung |

Solange Sie Namen und IDs aus den `DELIV-Data_Selection`-Tags übernehmen, brauchen Sie das Tag nicht: Die Kennung steckt dort bereits darin. Gebraucht wird es, wenn Sie im JavaScript auf eine bestimmte Auswahlgruppe zugreifen wollen.

Wegweiser: Versandart pro Warenkorbposition und Lieferadresse einzeln auswählbar

## Die Tags im Überblick

| Tag | Einzel-Tag | Bereichs-Tag | negatives Bereichs-Tag | Schleifen-Tag |
| - | - | - | - | - |
| `DELIV-Data` | ja | ja | ja | ja |
| `DELIV-Data_index` | ja | ja | ja | – |
| `DELIV-Data_id` | ja | ja | ja | – |
| `DELIV-Data_name` | ja | ja | ja | – |
| `DELIV-Data_NameSuffix` | ja | ja | ja | – |
| `DELIV-Data_Suffix` | ja | ja | ja | – |
| `DELIV-Data_Country` | ja | ja | ja | – |
| `DELIV-Data_type` | ja | ja | ja | – |
| `DELIV-Data_Image` | ja | ja | ja | – |
| `DELIV-Data_Image_link` | ja | ja | ja | – |
| `DELIV-Data_Image_html_js_onclick` | ja | ja | ja | – |
| `DELIV-Data_Cost` | ja | ja | ja | – |
| `DELIV-Data_NetCost` | ja | ja | ja | – |
| `DELIV-Data_GrossCost` | ja | ja | ja | – |
| `DELIV-Data_AltCurrencyCost` | ja | ja | ja | – |
| `DELIV-Data_AltCurrencyNetCost` | ja | ja | ja | – |
| `DELIV-Data_AltCurrencyGrossCost` | ja | ja | ja | – |
| `DELIV-Data_UserDeliveryCostDiscount` | ja | ja | ja | – |
| `DELIV-Data_UserDeliveryCostNetDiscount` | ja | ja | ja | – |
| `DELIV-Data_UserDeliveryCostGrossDiscount` | ja | ja | ja | – |
| `DELIV-Data_UserDeliveryCostDiscountRate` | ja | ja | ja | – |
| `DELIV-Data_disabled` | – | ja | ja | – |
| `DELIV-Data_disabledcode` | ja | ja | ja | – |
| `DELIV-Data_disabledmessage` | ja | ja | ja | – |
| `DELIV-Data_selected` | – | ja | ja | – |
| `DELIV-Data_IsDefault` | – | ja | ja | – |
| `DELIV-Data_Selection_html_id` | ja | ja | ja | – |
| `DELIV-Data_Selection_html_class_global` | ja | ja | ja | – |
| `DELIV-Data_Selection_html_class_active` | ja | ja | ja | – |
| `DELIV-Data_Selection_radioname` | ja | ja | ja | – |
| `DELIV-Data_Selection_radiovalue` | ja | ja | ja | – |
| `DELIV-Data_Selection_checked` | ja | ja | ja | – |
| `DELIV-Data_Selection_disabled` | ja | ja | ja | – |
| `DELIV-Data_Selection_html_js_onclick` | ja | ja | ja | – |
| `DELIV-Data_html_id()` | ja | ja | ja | – |
| `DELIV-Data_html_class_global()` | ja | ja | ja | – |
| `DELIV-Data_html_class_counter()` | ja | ja | ja | – |
| `DELIV-Data_html_class_active()` | ja | ja | ja | – |
| `DELIV-Data_html_class_disable()` | ja | ja | ja | – |
| `DELIV-Data_html_class_additionalinput_global()` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput` | ja | ja | ja | ja |
| `DELIV-Data_AdditionalInput_ID` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput_descr` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput_additionalinfotext` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput_input` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput_value` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput_value_txt` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput_maxlength` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput_required` | – | ja | ja | – |
| `DELIV-Data_AdditionalInput_error` | – | ja | ja | – |
| `DELIV-Data_AdditionalInput_errormessage` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput_Type_code` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput_Type_isInput` | – | ja | ja | – |
| `DELIV-Data_AdditionalInput_Type_isListbox` | – | ja | ja | – |
| `DELIV-Data_AdditionalInput_Type_isCheckbox` | – | ja | ja | – |
| `DELIV-Data_AdditionalInput_listbox` | ja | ja | ja | ja |
| `DELIV-Data_AdditionalInput_listbox_value` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput_listbox_value_txt` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInput_listbox_selected` | ja | ja | ja | – |
| `DELIV-Data_AdditionalInfo-<id>` | ja | ja | ja | – |
| `DELIV-Data_DeliverySelectionPerBasketPosition_hashindex` | ja | ja | ja | – |
| `DELIV-Data_DestDepInfo` | ja | ja | ja | – |

Zulässig sind alle Tags auf allen Templates, jeweils innerhalb der `DELIV-Data`-Schleife. Bei MultiDelivery und Split-Order zusätzlich nur innerhalb von `{@BASKET-PR-Data}`.

## Verwandte Themen

* Wegweiser: [Versandarten anlegen](https://dokumentation.websale.de/v8s/versandarten-anlegen/versandarten-anlegen.md)
* Referenz: Liste der Ablehnungsgründe
* Referenz: Abschnitt `<[DelivererAdditionalInput-Definitions](/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/versand-und-lieferung#delivereradditionalinput-definitions)>`
* Referenz: [PAY- (Einzelpositionierung der Zahlungsarten)](https://dokumentation.websale.de/v8s/referenz/tags/pay/zahlungsarten-anzeigen-und-auswaehlen.md)
* Referenz: [BASKET- (Mehrfach-Lieferadressen)](https://dokumentation.websale.de/v8s/referenz/tags/basket/besondere-produktarten-im-warenkorb.md)


## Related topics

- [Blitzversand](https://dokumentation.websale.de/v8s/anwendungsbeispiele/appex-blitzversand.md)
- [Info zur Versandart abhängig von der Zahlungsart ausblenden](https://dokumentation.websale.de/v8s/anwendungsbeispiele/appex-versandart-info-ausblenden.md)
- [Ausgabe der Versandarten im Bestellprozess](https://dokumentation.websale.de/v8s/versandarten-anlegen/ausgabe-im-bestellprozess.md)
- [Versandarten anlegen](https://dokumentation.websale.de/v8s/versandarten-anlegen/versandarten-anlegen.md)
- [Spezielle Versandarten](https://dokumentation.websale.de/v8s/versandarten-anlegen/spezielle-versandarten.md)


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