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

# Info zur Versandart abhängig von der Zahlungsart ausblenden

> Den Zusatztext einer Versandart, beispielsweise einen Lieferzeitraum, nur bei bestimmten Zahlungsarten anzeigen, über einen freien Parameter im Template.

Zu einer Versandart gehört oft ein erklärender Zusatztext, beispielsweise ein zugesagter Lieferzeitraum. Diese Zusage hängt aber nicht nur am Versanddienstleister, sondern auch daran, wie schnell das Geld da ist. Bei einer Zahlungsart mit sofortiger Gutschrift stimmt der Lieferzeitraum, bei einer anderen nicht.

Der Zusatztext soll deshalb je nach gewählter Zahlungsart erscheinen oder verschwinden.

Mit Zahlungsart und sofortiger Gutschrift:

![20181130 Versandart Info Ausblenden 03](https://mintcdn.com/websaleag-44ee7ea6/HEgVg_TjwqZgFr_g/images/20181130_versandart-info-ausblenden_03.png?fit=max\&auto=format\&n=HEgVg_TjwqZgFr_g\&q=85\&s=e9dc5fe137ee9f963059dbd5c6c2939a)

Mit einer Zahlungsart, bei der die Zusage nicht gilt:

![20181130 Versandart Info Ausblenden 04](https://mintcdn.com/websaleag-44ee7ea6/HEgVg_TjwqZgFr_g/images/20181130_versandart-info-ausblenden_04.png?fit=max\&auto=format\&n=HEgVg_TjwqZgFr_g\&q=85\&s=a4b5a9d526a2b6748d39cbd6c60cb87d)

## Warum die Konfiguration das nicht abdeckt

Der Zusatztext steht im Parameter `Suffix-Txt` der Versandart. Die Versandart kennt aber keine Abhängigkeit von der Zahlungsart, und die Zahlungsart hat keinen Zugriff auf den Text der Versandart. Welche Kombinationen überhaupt erlaubt sind, steuern Sie über `DelivererID-List`, das blendet aber die ganze Versandart aus, nicht einen Teil ihrer Beschreibung.

Die Lösung läuft deshalb über das Template und besteht immer aus zwei Teilen:

1. Einen freien Parameter setzen, sobald die aktuelle Zahlungsart zu den betroffenen gehört.
2. Weiter unten im Template abfragen, ob dieser Parameter gesetzt ist, und den Zusatztext entsprechend ausgeben oder weglassen.

Voraussetzung ist, dass im Shop Zahlungsarten-Versandarten-Kombinationen eingerichtet sind.

Wegweiser: Zahlungsarten-Versandarten-Kombinationen · Referenz: [DC-FPX](https://dokumentation.websale.de/v8s/referenz/tags/dc/parameter.md#die-tags-im-uberblick)

## Schritt 1: Den freien Parameter setzen

Je betroffener Zahlungsart eine Zeile. Die Zahl in der Klammer ist der Code der Zahlungsart.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
~DC-FPnoDelivTime_reset~

{ST-Payment(12)}~DC-FPnoDelivTime_set(yes)~{/ST-Payment(12)}
{ST-Payment(37)}~DC-FPnoDelivTime_set(yes)~{/ST-Payment(37)}
{ST-Payment(1)}~DC-FPnoDelivTime_set(yes)~{/ST-Payment(1)}
```

> [!WARNING]
>
> Mehrere Zahlungsarten haben **zwei** Codes, je nachdem über welchen Weg sie angebunden sind. PayPal ist `12` bei der Direktanbindung und `37` über PayPal Checkout. Wer nur den einen Code abfragt, bei dem greift die Regel in einem Shop mit dem jeweils anderen Anbindungsweg nicht, und zwar ohne jede Fehlermeldung.
>
> Schlagen Sie die Codes Ihrer Zahlungsarten deshalb nach, statt sie aus einem Beispiel zu übernehmen.

Das `reset` am Anfang ist keine Förmlichkeit. Steht der Parameter aus einem früheren Durchlauf noch auf `yes`, bliebe der Zusatztext dauerhaft verschwunden. Ein `DC-FP` gilt zwar nur innerhalb eines Templates, aber innerhalb davon kann er mehrfach gelesen und gesetzt werden.

Alles Weitere muss im Template **nach** diesen Zeilen stehen. Ein freier Parameter wird in der Reihenfolge ausgewertet, in der die Tags im Template stehen, nicht nach Bedeutung.

Referenz: [ST-Payment()](https://dokumentation.websale.de/v8s/referenz/tags/st/seitenzustand-und-navigation.md) · Materialien: Zahlungsarten-Codes

## Schritt 2a: Den Zusatztext weglassen

Gibt Ihr Template die Versandarten einzeln mit den `DELIV-Data`-Tags aus, geben Sie den Zusatztext einfach nicht aus. Der Text landet dann gar nicht erst im HTML.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@DELIV-Data}
   ...
   ~DELIV-Data_name~

   {!DC-FPnoDelivTime(yes)}
      ~DELIV-Data_Suffix~
   {/!DC-FPnoDelivTime(yes)}
   ...
{/@DELIV-Data}
```

Soll die Regel nur für eine bestimmte Versandart gelten und nicht für alle, prüfen Sie zusätzlich deren ID:

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{@DELIV-Data}
   ...
   ~DC-FPshowSuffix_set(yes)~

   {DC-FPnoDelivTime(yes)}
      {DC-CompareStringInList($DELIV-Data_id$,DHL_DEU)}
         ~DC-FPshowSuffix_set(no)~
      {/DC-CompareStringInList($DELIV-Data_id$,DHL_DEU)}
   {/DC-FPnoDelivTime(yes)}

   {DC-FPshowSuffix(yes)}~DELIV-Data_Suffix~{/DC-FPshowSuffix(yes)}
   ...
{/@DELIV-Data}
```

`~DC-FPshowSuffix_set(yes)~` steht innerhalb der Schleife und setzt den Parameter bei jedem Durchlauf neu. Ohne dieses Zurücksetzen bliebe der Wert `no` ab der ersten betroffenen Versandart für alle folgenden stehen.

Referenz: [DELIV- (Einzelpositionierung der Versandarten)](https://dokumentation.websale.de/v8s/referenz/tags/deliv.md) · [DC-CompareStringInList()](https://dokumentation.websale.de/v8s/referenz/tags/dc/vergleiche.md)

## Schritt 2b: Den Zusatztext per CSS ausblenden

Gibt Ihr Template die Versandarten mit `~WS-DeliveryFields~` als fertigen Block aus, können Sie einzelne Teile nicht weglassen. Dann bleibt nur, den erzeugten Container per CSS auszublenden.

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

~DC-FPnoDelivTime_reset~
{ST-Payment(12)}~DC-FPnoDelivTime_set(yes)~{/ST-Payment(12)}
{ST-Payment(37)}~DC-FPnoDelivTime_set(yes)~{/ST-Payment(37)}
{ST-Payment(1)}~DC-FPnoDelivTime_set(yes)~{/ST-Payment(1)}

{DC-FPnoDelivTime(yes)}
<style>
    #ws_deliverydiv_suffix_id_DHL_DEU {
        display: none;
    }
</style>
{/DC-FPnoDelivTime(yes)}

~WS-DeliveryFields~
```

### Wie die ID zustande kommt

WEBSALE V8s baut für jede Versandart eine Reihe von Containern. Deren IDs folgen durchgehend demselben Muster:

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
ws_deliverydiv_<Bereich>_id_<ID der Versandart>
```

| Bereich | Was er umschließt |
| - | - |
| `logo` | das Bild aus `Img` |
| `radio` | den Auswahlknopf |
| `text` | den Textteil rechts daneben |
| `name` | den Namen aus `Name-Txt` |
| `suffix` | den Zusatztext aus `Suffix-Txt` |
| `disabled` | die Begründung, wenn die Versandart nicht wählbar ist |
| `clear` | den abschließenden Container, der den Umbruch erzwingt |

Dazu kommt ein äußerer Container um den gesamten Block einer Versandart. Welchen Bereichsnamen er trägt, lesen Sie im Quelltext der Seite ab.

Die `<ID der Versandart>` ist der Parameter `ID` aus dem Abschnitt `<+Deliverer>`. Im Beispiel oben lautet sie `DHL_DEU`. Setzen Sie Ihre eigene ein.

> [!WARNING]
>
> Hat eine Versandart keinen Parameter `ID`, erzeugt WEBSALE V8s für ihre Container **gar kein** `id`-Attribut. Der CSS-Selektor findet dann nichts, und zwar lautlos. Prüfen Sie im Zweifel im Quelltext der Seite, ob die ID tatsächlich so heißt wie erwartet.

Neben der ID vergibt WEBSALE V8s Klassennamen nach demselben Muster ohne den ID-Teil, hier also `ws_deliverydiv_suffix`. Dazu kommt eine durchnummerierte Klasse `ws_deliverydiv_suffix_1`, `ws_deliverydiv_suffix_2` und so weiter sowie `ws_deliverydiv_suffix_active` bei der gerade gewählten Versandart. Über die Klasse blenden Sie den Zusatztext bei **allen** Versandarten aus, über die ID bei einer einzelnen.

> [!WARNING]
>
> `display: none` entfernt den Text nicht, es versteckt ihn nur. Er steht weiterhin im Quelltext der Seite, Screenreader können ihn je nach Umsetzung vorlesen, und Suchmaschinen sehen ihn ebenfalls. Bei einer Aussage zur Lieferzeit, die für die gewählte Zahlungsart nicht gilt, ist das nicht unkritisch.
>
> Wo das Template es zulässt, ist der Weg über die `DELIV-Data`-Schleife aus Schritt 2a deshalb vorzuziehen.

## Verwandte Themen

* Wegweiser: [Versandarten anlegen](https://dokumentation.websale.de/v8s/versandarten-anlegen/versandarten-anlegen.md)
* Wegweiser: [Auswahl der Versandart](https://dokumentation.websale.de/v8s/versandarten-anlegen/ausgabe-im-bestellprozess.md)
* Referenz: [DC-FPX, freie Parameter](https://dokumentation.websale.de/v8s/referenz/tags/dc/parameter.md#die-tags-im-uberblick)
* Materialien: [Zahlungsarten-Codes](https://dokumentation.websale.de/v8s/materialien/zahlungsarten-codes.md)


## Related topics

- [Anwendungsbeispiele](https://dokumentation.websale.de/v8s/anwendungsbeispiele/anwendungsbeispiele.md)
- [Versandart abhängig von Mindestbestellwert und Lieferadresse](https://dokumentation.websale.de/v8s/anwendungsbeispiele/appex-versandart-ausgegraut.md)
- [Übersicht von Zahlungs- und Versandarten](https://dokumentation.websale.de/v8s/informationsseiten/uebersicht-von-zahlungs-und-versandarten.md)
- [Versandkosten abhängig von Adressdaten](https://dokumentation.websale.de/v8s/anwendungsbeispiele/appex-versandkosten-nach-adressdaten.md)
- [Download-Produkte anbieten](https://dokumentation.websale.de/v8s/produkte/download-produkte-anbieten.md)


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