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

# Texte und Meldungen

> Die Textabschnitte der Shopkonfiguration shop.config: Überschriften, Zeitangaben, freie Vorgabetexte, Erfolgs- und Fehlermeldungen der Anmeldung sowie die rund 170 Hinweismeldungen des Abschnitts NotifyMessages-Txt.

Fast jeder Text, den ein Käufer im Shop zu lesen bekommt und der nicht aus den Produktdaten oder dem Template stammt, steht in einem der Textabschnitte der shop.config. Das gilt für Überschriften genauso wie für die Meldung, dass eine Kreditkartenzahlung abgelehnt wurde.

Der Vorteil dieser Trennung: Sie formulieren diese Texte je Subshop neu, übersetzen sie, passen sie an eine Zielgruppe an, und kein Template muss dafür angefasst werden. Der Preis dafür ist, dass ein nicht gefüllter Parameter zu einer leeren Stelle im Shop führt, ohne dass irgendwo eine Warnung erscheint.

Diese Seite behandelt die Abschnitte, die ausschließlich oder überwiegend Texte halten. Die Texte einzelner Funktionen stehen bei der jeweiligen Funktion.

Referenz: Shopkonfiguration shop.config, Übersicht aller Abschnitte

Alle Texte dieser Abschnitte dürfen HTML enthalten, auch Links. Die Beispiele der Altdokumentation machen davon Gebrauch, beispielsweise mit einem Link zur Passwortanforderung mitten in einer Fehlermeldung. Prüfen Sie nach einer Änderung, ob das HTML noch ausgeglichen ist, denn ein nicht geschlossenes Element zerlegt die Seite, auf der die Meldung erscheint.

## Captions-Txt

Hält die Überschriften, die das Shopsystem selbst setzt, vor allem im Bestellprozess.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Captions-Txt>
   Payment          = Zahlungsart
   Delivery         = Versandart
   Address          = Rechnungsadresse
   DeliveryAddress  = Lieferadresse
   SearchAll        = Alles durchsuchen
   PleaseSelect     = Bitte wählen Sie
   BulkDiscountInfo = Infos zu den Staffelpreisen
   BulkDiscountFrom = ab
</Captions-Txt>
```

| Parameter | Überschrift für |
| - | - |
| `Payment` | die Zahlungsart |
| `Delivery` | die Versandart |
| `Address` | die Rechnungsadresse |
| `DeliveryAddress` | die Lieferadresse |
| `SearchAll` | den Eintrag in der Suche, der alle Bereiche durchsucht |
| `PleaseSelect` | den ersten Eintrag einer Auswahlliste, der noch keine Auswahl darstellt |
| `BulkDiscountInfo` | den Hinweis auf die Staffelpreise |
| `BulkDiscountFrom` | die Mengenangabe einer Staffelstufe |

Der Abschnitt kennt genau diese acht Parameter, weitere Überschriften lassen sich hier nicht hinterlegen. `PleaseSelect` ist der einzige mit einem fest eingebauten Ersatztext. Bleibt er leer, erscheint "Bitte wählen Sie". Alle anderen bleiben leer, wenn Sie sie leer lassen.

Wegweiser: [Standardtexte ändern](https://dokumentation.websale.de/v8s/einstellungen/standardtexte.md)

## Buttons-Txt

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Buttons-Txt>
   TrustedShop = Anmeldung Geld-Zurück-Garantie
</Buttons-Txt>
```

| Parameter | Zweck |
| - | - |
| `TrustedShop` | Beschriftung der Schaltfläche zur Anmeldung für die Geld-Zurück-Garantie |

> [!WARNING]
>
> Der Abschnitt enthält genau diesen einen Parameter. Die Altdokumentation beschreibt ihn als Ort für "die Beschriftung der automatisch generierten Schaltflächen" und nennt als Beispiel die Warenkorb-Schaltfläche. Einen Parameter dafür gibt es hier nicht. Beschriftungen von Schaltflächen setzen Sie im Template.
>
> `TrustedShop` gehört zu einer veralteten Form der Trusted-Shops-Anbindung. Für die aktuelle Anbindung wird der Parameter nicht gebraucht.

Wegweiser: [Trusted Shops](https://dokumentation.websale.de/v8s/marketing-funktionen/trusted-shops.md), Standardtexte ändern

## Times-Txt

Hält die Wörter für Zeiteinheiten, die das Shopsystem bei Zeitangaben einsetzt, beispielsweise bei der Restlaufzeit eines HappyHour-Produkts. Für jede Einheit gibt es eine Einzahl- und eine Mehrzahlform.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Times-Txt>
   Years   = Jahre
   Year    = Jahr
   Months  = Monate
   Month   = Monat
   Weeks   = Wochen
   Week    = Woche
   Days    = Tage
   Day     = Tag
   Hours   = Stunden
   Hour    = Stunde
   Minutes = Minuten
   Minute  = Minute
   Seconds = Sekunden
   Second  = Sekunde
</Times-Txt>
```

Die Mehrzahlform steht jeweils vor der Einzahlform. Das Shopsystem wählt die passende Form selbst. Füllen Sie beide, sonst fehlt bei einem Wert von genau 1 das Wort.

Wegweiser: Standardtexte ändern

## StandardMessages-Txt

Hält Meldungen, die das Shopsystem je nach Zustand der Seite ausgibt, ohne dass ein Fehler vorliegt.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<StandardMessages-Txt>
   Basket-Empty     = Ihr Warenkorb ist leer.
   Basket-MakeOrder = Sie können jetzt bestellen oder weitere Produkte auswählen.
   ProductRecmd     = Bitte klicken Sie auf den folgenden Link:
</StandardMessages-Txt>
```

| Parameter | Erscheint |
| - | - |
| `Basket-Empty` | auf der Warenkorbseite, solange der Warenkorb leer ist |
| `Basket-MakeOrder` | auf der Warenkorbseite, sobald bestellt werden kann |
| `ProductRecmd` | in der Weiterempfehlungs-E-Mail vor dem Produktlink |

`Basket-Empty` und `Basket-MakeOrder` werden beide vom Tag `MSG-Basket_Standard` ausgegeben. Welcher der beiden Texte erscheint, entscheidet das Shopsystem am Zustand des Warenkorbs. Im Template steht also nur ein Tag.

Wegweiser: [Standardtexte](https://dokumentation.websale.de/v8s/einstellungen/standardtexte.md)

## FreeMessages-Txt

Hier legen Sie eigene Texte an, die mit keiner Funktion des Shopsystems verknüpft sind. Den Namen vergeben Sie selbst, und unter diesem Namen holen Sie den Text im Template ab.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<FreeMessages-Txt>
   Versandhinweis   = Lieferung innerhalb Deutschlands versandkostenfrei.
   Ruecksendung     = Rücksendungen sind 30 Tage lang möglich.
</FreeMessages-Txt>
```

Im Template geben Sie diese Texte mit dem Präfix `FMSG-` aus:

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

{FMSG-Ruecksendung}
   <p>~FMSG-Ruecksendung~</p>
{/FMSG-Ruecksendung}
```

> [!WARNING]
>
> Die Altdokumentation nennt eine Grenze von 100 Texten. Das Shopsystem nimmt 250 Einträge an. Alles darüber wird beim Einlesen stillschweigend verworfen.

Der Name wird genau so zum Tag, wie Sie ihn schreiben. Vermeiden Sie deshalb Leerzeichen und Sonderzeichen und bleiben Sie bei Buchstaben, Ziffern und dem Unterstrich. Ein Name, der auf einen vorhandenen Namen trifft, gewinnt gegen das gleichnamige Shop-Tag, denn das Shopsystem prüft die freien Texte zuerst. Wählen Sie die Namen also so, dass sie sich von den Namen der `MSG-`Tags unterscheiden.

Wegweiser: Freie Vorgabetexte definieren. Referenz: FMSG- (Freie Vorgabetexte)

## LoginSuccess-Txt

Hält die Erfolgsmeldungen rund um Anmeldung, Kundenkonto und Double-OptIn.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<LoginSuccess-Txt>
   AddrData         = Ihre Adressdaten wurden erfolgreich gespeichert.
   AutoLogin        = Sie wurden erfolgreich automatisch angemeldet.
   ChangeEmail      = Ihre E-Mail-Adresse wurde erfolgreich geändert.
   ChangePW         = Ihr Passwort wurde erfolgreich geändert.
   RequirePW        = Ihr Passwort wurde Ihnen per E-Mail zugesendet.
   PasswordSet      = Das Passwort wurde erfolgreich gesetzt.
   PasswordSetLogin = Das Passwort wurde erfolgreich gesetzt und Sie wurden angemeldet.
</LoginSuccess-Txt>
```

| Parameter | Erscheint nach |
| - | - |
| `AddrData` | dem Speichern der Adressdaten |
| `AutoLogin` | einer erfolgreichen automatischen Anmeldung |
| `ChangeEmail` | der Änderung der E-Mail-Adresse |
| `ChangePW` | der Änderung des Passworts |
| `RequirePW` | dem Versand des Passworts per E-Mail |
| `PasswordSet` | dem Setzen eines neuen Passworts über den Link aus der E-Mail |
| `PasswordSetLogin` | demselben Vorgang, wenn der Käufer dabei zugleich angemeldet wurde |

### Double-OptIn

| Parameter | Erscheint nach |
| - | - |
| `NewCustomerDoubleOptInSent` | dem Versand der Aktivierungs-E-Mail für ein neues Konto |
| `NewCustomerDoubleOptInSuccess` | der Aktivierung des Kontos über den Link |
| `ChangeEmailDoubleOptInSent` | dem Versand der Bestätigungs-E-Mail für eine geänderte Adresse |
| `ChangeEmailDoubleOptInSuccess` | der Bestätigung der geänderten Adresse |
| `DoubleOptInVoluntaryEmailVerificationSent` | dem Versand der freiwilligen Bestätigungs-E-Mail |
| `DoubleOptInVoluntaryEmailVerificationSuccess` | der freiwilligen Bestätigung der E-Mail-Adresse |

Wegweiser: [Sicheres Anmeldeverfahren, Passwort vergessen, Double-OptIn, Dauerhafter Login, Freiwillige Bestätigung der E-Mail-Adresse](https://dokumentation.websale.de/v8s/kundenkonto/anmeldung-registrierung.md#sicheres-anmeldeverfahren)

## LoginError-Txt

Das Gegenstück dazu: die Fehlermeldungen rund um Anmeldung und Kundenkonto.

### Anmelden

| Parameter | Erscheint, wenn |
| - | - |
| `Login` | E-Mail-Adresse und Passwort nicht zusammenpassen |
| `LoginUserID` | eine ungültige E-Mail-Adresse oder ein ungültiger Benutzername eingegeben wurde |
| `PW` | das Passwort ungültig ist |
| `AutoLogin` | die automatische Anmeldung fehlgeschlagen ist |
| `NoInputLoginKnownUser` | ein bekannter Kunde weder Adresse noch Passwort eingegeben hat |
| `NoInputLoginNewUser` | ein neuer Kunde weder Adresse noch Passwort eingegeben hat |

### E-Mail-Adresse und Passwort ändern

| Parameter | Erscheint, wenn |
| - | - |
| `Email` | eine ungültige E-Mail-Adresse eingegeben wurde |
| `NewEmail` | für die eingegebene Adresse bereits ein Konto existiert |
| `NewEmailLength` | die neue Adresse zu kurz ist |
| `NewEmailMismatch` | die Wiederholung der Adresse abweicht |
| `NewPWLength` | das neue Passwort zu kurz ist |
| `NewPWMismatch` | die Wiederholung des Passworts abweicht |
| `NoInputChangeEmail` | bei der Adressänderung Eingaben fehlen |
| `NoInputChangePassword` | bei der Passwortänderung Eingaben fehlen |

### Passwort vergessen

| Parameter | Erscheint, wenn |
| - | - |
| `SendPW` | das Passwort mangels hinterlegter E-Mail-Adresse nicht zugestellt werden kann |
| `SetPasswordEmail` | die eingegebene E-Mail-Adresse unbekannt ist |
| `SetPasswordPermitted1` | der Link zum Setzen des Passworts abgelaufen ist |
| `SetPasswordPermitted2` | der Käufer bereits angemeldet ist und deshalb kein Passwort neu setzen kann |
| `NoInputRequestSetPassword` | keine E-Mail-Adresse eingegeben wurde |

### Double-OptIn

| Parameter | Erscheint, wenn |
| - | - |
| `NoDoubleOptIn` | das Konto noch nicht aktiviert ist |
| `InvalidDoubleOptInLink` | der Aktivierungslink abgelaufen ist |
| `DoubleOptInNewCustomerLoggedIn` | der Käufer bereits in seinem Konto angemeldet ist |
| `DoubleOptInChangeEmailWrongAccount` | der Link nicht zum aufgerufenen Konto gehört |

### Weitere

| Parameter | Erscheint, wenn |
| - | - |
| `Input` | bei der Eingabe allgemein Fehler aufgetreten sind |
| `Zip` | zur eingegebenen Postleitzahl kein Treffer gefunden wurde |
| `SubAccountCreate` | für die Adresse bereits ein Konto existiert und ein Unterkonto angelegt werden könnte |

Der Aktivierungslink aus dem Double-OptIn ist aus Sicherheitsgründen nur eine Stunde gültig. Nennen Sie diese Frist in `InvalidDoubleOptInLink`, sonst wissen Käufer nicht, warum ihr Link nicht mehr funktioniert, und versuchen es mit demselben Link erneut.

Wegweiser: [Sicheres Anmeldeverfahren, Passwort vergessen, Double-OptIn, Mehrfachkonten, Anmeldung im Bestellablauf aktivieren, Dauerhafter Login](https://dokumentation.websale.de/v8s/kundenkonto/anmeldung-registrierung.md#sicheres-anmeldeverfahren)

## Reseller-Txt

Konfiguriert Reseller-Bestellungen und hält zugleich deren Meldungen. Ein Reseller kauft im Shop ein und schlägt auf den Warenwert einen eigenen Aufschlag auf.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Reseller-Txt>
   InputType-Value       = 0
   MaxSurcharge-Value    =
   Surcharge             = Reseller-Aufschlag
   HeaderNotify          = Bei Ihrer Reseller-Bestellung ist etwas unklar.
   SurchargeNotify       = Die Eingabe des Reseller-Aufschlages fehlt oder ist ungültig.
   MaxSurchargeNotify    = Der Reseller-Aufschlag darf maximal ~MaxSurcharge~ ~WS-Currency~ betragen.
   TotalSumNotify        = Der eingegebene Endbetrag ist kleiner als die bisherige Gesamtsumme.
   PaymentNotify         = Die Zahlungsart wurde auf Nachnahme gesetzt.
   DeliveryAddressNotify = Bei einer Reseller-Bestellung muss eine abweichende Lieferadresse angegeben werden.
   InputSuccess          = Ihre Eingaben wurden erfolgreich übernommen.
</Reseller-Txt>
```

| Parameter | Zweck | Werte |
| - | - | - |
| `InputType-Value` | Was der Reseller eingibt. `0` bedeutet den Aufschlag, `1` die gewünschte Endsumme, aus der das Shopsystem den Aufschlag errechnet. | `0`, `1`. Standard `0` |
| `MaxSurcharge-Value` | Höchster Aufschlag, den ein Reseller eingeben darf. | Betrag |
| `Surcharge` | Bezeichnung des Aufschlags in der Anzeige. | Text |

Die übrigen Parameter sind Meldungen.

| Parameter | Erscheint, wenn |
| - | - |
| `HeaderNotify` | eine der folgenden Meldungen angezeigt wird, als Überschrift darüber |
| `SurchargeNotify` | der Aufschlag fehlt oder ungültig ist |
| `MaxSurchargeNotify` | der eingegebene Aufschlag über `MaxSurcharge-Value` liegt |
| `TotalSumNotify` | die eingegebene Endsumme unter der bisherigen Gesamtsumme liegt |
| `PaymentNotify` | die Zahlungsart durch die Reseller-Bestellung umgestellt wurde |
| `DeliveryAddressNotify` | eine abweichende Lieferadresse fehlt |
| `InputSuccess` | die Eingaben übernommen wurden |

> [!WARNING]
>
> `InputType-Value` kennt nur `0` und `1`. Jeder größere Wert wird auf `0` zurückgesetzt, der Reseller gibt dann also den Aufschlag ein und nicht die Endsumme.

In `MaxSurchargeNotify` sind die Tags `MaxSurcharge` und `WS-Currency` verwendbar. Setzen Sie den Betrag in die Meldung ein, statt ihn im Text auszuschreiben, sonst stimmt er nach einer Konfigurationsänderung nicht mehr.

Wegweiser: [Reseller-Bestellungen unterstützen](https://dokumentation.websale.de/v8s/weitere-funktionen-im-bestellprozess-kontext/reseller-bestellungen-unterstuetzen.md)

## NotifyMessages-Txt

Der mit Abstand größte Textabschnitt. Hier stehen die Hinweis- und Fehlermeldungen, die der Käufer zu sehen bekommt, wenn etwas nicht wie erwartet läuft: ein Produkt ist ausverkauft, die Zahlung wurde abgelehnt, der Mindestbestellwert ist nicht erreicht.

Ausgegeben werden diese Texte von den `MSG-`Tags. Welcher Text erscheint, entscheidet das Shopsystem am Zustand der Sitzung, nicht das Template. Im Template steht an der passenden Stelle nur ein `MSG-`Tag, beispielsweise `MSG-PlaceOrder_Notify` auf der Bestellübersicht.

> [!WARNING]
>
> Ein leer gelassener Parameter führt dazu, dass an der betreffenden Stelle **gar nichts** erscheint. Der Käufer sieht dann, dass sein Klick nichts bewirkt hat, erfährt aber nicht warum. Gehen Sie den Abschnitt deshalb einmal vollständig durch, statt sich auf die Parameter zu beschränken, die im Beispiel der Altdokumentation stehen.

### Zahlungsarten: das Namensschema

Über die Hälfte aller Parameter dieses Abschnitts gehört zu Zahlungsarten und folgt einem festen Schema:

```text theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Zahlungsart>-Clearing<Ereignis>
```

| Ereignis | Bedeutung |
| - | - |
| `Deny` | Der Zahlungsdienstleister hat die Zahlung abgelehnt |
| `Error` | Es ist ein technischer Fehler aufgetreten, die Zahlungsart ist gerade nicht verwendbar |
| `Cancel` | Der Käufer hat den Vorgang beim Zahlungsdienstleister selbst abgebrochen |

Nicht jede Zahlungsart kennt alle drei Ereignisse. Die folgende Tabelle zeigt, welche es gibt.

| Zahlungsart | Deny | Error | Cancel |
| - | - | - | - |
| `ApplePay` | ja | ja | ja |
| `Bill` | ja | ja | ja |
| `Billie` | ja | ja | ja |
| `Bizum` | ja | ja | – |
| `CCard` | ja | ja | ja |
| `ClickAndBuy` | ja | ja | – |
| `Debit` | ja | ja | – |
| `DebitCard` | ja | ja | – |
| `DirectDebitPayEX` | ja | ja | – |
| `DIRECTebanking` | ja | ja | – |
| `DotPay` | ja | ja | – |
| `GooglePay` | ja | ja | ja |
| `iDEAL` | ja | ja | – |
| `Installment` | ja | ja | ja |
| `Klarna` | ja | ja | ja |
| `OnlineTransfer` | ja | ja | – |
| `Paydirekt` | – | ja | ja |
| `Paymorrow` | – | ja | – |
| `PayPal` | ja | ja | – |
| `PayPalCheckout` | – | ja | – |
| `PayPalCheckoutAPM` | – | ja | – |
| `PayPalCheckoutPayLater` | – | ja | – |
| `PayPalCheckoutVault` | – | ja | – |
| `PayPalInvoice` | – | ja | – |
| `PayPalPlus` | – | ja | ja |
| `PayU` | ja | ja | – |
| `PostFinance` | ja | ja | – |
| `TWINT` | ja | ja | ja |

Dazu kommen Meldungen, die nicht in dieses Schema passen:

| Parameter | Erscheint, wenn |
| - | - |
| `PayPal-PaymentUnsupportedError` | das bei PayPal gewählte Zahlungsmittel nicht unterstützt wird |
| `PaymentMissing` | keine Zahlungsart mehr zur Verfügung steht |
| `PaymentDeliverer` | die gewählte Zahlungsart nicht zur gewählten Versandart passt |
| `PaymentInputSuffix` | die Zusatzangaben zur gewählten Zahlungsart fehlen |
| `DenyPayment` | eine Zahlungsart abgewiesen wurde |
| `DifferentDeliveryAddressError` | die Zahlungsart keine abweichende Lieferadresse erlaubt |
| `DifferentDeliveryAddressForNewUserError` | die Zahlungsart Neukunden keine abweichende Lieferadresse erlaubt |
| `DelivCountryDiffersNotAllowed` | Rechnungs- und Lieferland abweichen, aber gleich sein müssen |
| `DelivCountryDiffers` | Rechnungs- und Lieferland abweichen |
| `DelivCountryDiffersWrongDelivCountry` | das Lieferland nicht zulässig ist |
| `SessionLockedForOnlineclearing` | die Sitzung während eines Online-Bezahlvorgangs gesperrt ist |
| `CCard-Input`, `CCard-Saved`, `CCard-Deleted` | Kreditkartendaten eingegeben, gespeichert oder gelöscht wurden |
| `Debit-Input` | Lastschriftdaten eingegeben wurden |
| `PPCVault-Saved`, `PPCVault-Deleted` | ein PayPal-Zahlungsmittel gespeichert oder gelöscht wurde |
| `PPCVault-SaveError`, `PPCVault-DeleteError` | dabei ein Fehler aufgetreten ist |

`SessionLockedForOnlineclearing` schreibt sich im Shopsystem mit kleinem c in "clearing". Die Altdokumentation schreibt an einer Stelle ein großes C. Beide Schreibweisen werden angenommen, der Shop vergleicht Parameternamen ohne Rücksicht auf Groß- und Kleinschreibung.

> [!WARNING]
>
> `CCard-Input` und `CCard-Saved` sind veraltet. Kreditkartendaten werden heute beim Zahlungsdienstleister eingegeben, nicht im Shop.
>
> Die Meldung zu `SessionLockedForOnlineclearing` ist die wichtigste des ganzen Abschnitts. Sie erscheint, wenn der Käufer vom Zahlungsdienstleister zurückkommt, ohne dass im Shop eine Zahlung angekommen ist, beispielsweise weil er den Zurück-Knopf des Browsers benutzt hat. Ohne Text steht er vor einer Seite, auf der er nicht weiterkommt. Nehmen Sie in den Text den Link aus `WS-UnlockSessionOnlineClearingLink` auf, damit er zurück in seinen Warenkorb findet.

### Produkte und Mengen

| Parameter | Erscheint, wenn |
| - | - |
| `ProductNotFound` | das Produkt nicht mehr verfügbar ist |
| `ProductSoldOut` | das Produkt ausverkauft ist |
| `CategoryNotFound` | die Kategorie nicht gefunden wurde |
| `ProductMinQuantity` | die Mindestmenge unterschritten ist |
| `ProductMaxQuantity` | die Höchstmenge überschritten ist |
| `ProductMaxQuantity-UserOrder` | die kundenbezogene Höchstmenge überschritten ist |
| `ProductMaxQuantity-Inventory` | die Höchstmenge durch den Lagerbestand begrenzt ist |
| `ProductUnitFactor` | die Menge nicht durch die Stückelung teilbar ist |
| `UserUnitFactorError` | eine kundenindividuelle Stückelung verletzt ist |
| `QuantityScaling` | die Mengenstaffelung verletzt ist |
| `GreetingProductsMaxQuantity` | die Höchstmenge für Grußprodukte überschritten ist |
| `TextInputFieldError` | ein Pflicht-Texteingabefeld zum Produkt leer ist |
| `OnlyAsSetChild` | das Produkt nur als Teil eines Sets bestellbar ist |
| `VoucherProduct` | das Produkt nur mit Gutschein bestellbar ist |
| `ProductLicenses-1`, `ProductLicenses-2` | eine Lizenzbedingung des Produkts nicht erfüllt ist |
| `HappyHourProductInactive` | ein HappyHour-Produkt außerhalb seines Zeitfensters liegt |
| `ProductPremiumProductToBasket` | ein Prämienprodukt nicht in den Warenkorb gelegt werden kann |
| `ProductSubscriptionProductNotOrderable` | ein Aboprodukt nicht bestellbar ist |
| `EBookCheckError` | ein E-Book nicht bestellt werden kann |
| `DistributionServiceNotOK`, `DistributionServiceLowQuantity` | der Distributionsdienst das Produkt ablehnt oder zu wenig Bestand meldet |

In `ProductSoldOut` sind die lokalen Tags `Name`, `VarName` und `VarValue` verwendbar, letztere beiden auch als Klammerung. Damit nennen Sie im Text das betroffene Produkt mitsamt seiner Variante. In `ProductMaxQuantity` und seinen beiden Varianten stehen `PR-Name`, `PR-ProductName`, `PR-MaxQuantity` und `PR-Unit` zur Verfügung.

Ist `ProductMaxQuantity-Inventory` leer, dann greift das Shopsystem auf `ProductMaxQuantity` zurück. Sie müssen die Unterscheidung also nur dort treffen, wo der Käufer sie braucht.

### Warenkorb und Bestellabschluss

| Parameter | Erscheint, wenn |
| - | - |
| `Basket-MinOrder` | der Mindestbestellwert nicht erreicht ist |
| `Basket-MinQuantityGroup` | eine Mindestmenge je Gruppe nicht erreicht ist |
| `Basket-MaxProductsReached` | die Höchstzahl an Positionen erreicht ist |
| `MaxBasketPositions` | dasselbe aus Sicht der Positionsgrenze |
| `MaxBasketQuantities` | die Höchstmenge über alle Positionen erreicht ist |
| `Basket-ProductsW2POnly` | der Warenkorb nur Web-to-Print-Produkte enthält |
| `NoBasketInput` | das Produkt mangels Menge oder Auswahl nicht in den Warenkorb konnte |
| `LoggedOutUserAddProductToBasketError` | ein nicht angemeldeter Käufer ein Produkt in den Warenkorb legen will |
| `GiftProductSubTotalUnderValue` | der Warenwert für ein Gratisgeschenk nicht reicht |
| `PlaceOrder-NegativeTotalSum` | die Gesamtsumme negativ wäre |
| `Conditions` | die AGB nicht akzeptiert wurden |
| `Order-Error` | die Bestellung allgemein fehlgeschlagen ist |
| `DisableShop` | der Shop abgeschaltet ist |
| `WSFreightCostsError` | die Versandkosten nicht ermittelt werden konnten |
| `TaxJar-GetSalesTaxError`, `TaxCaseError` | die Steuerermittlung fehlgeschlagen ist |
| `BPOInputCheckError` | eine Eingabe zu einer Produktoption fehlerhaft ist |
| `ShareEmailWithShippingProviderError` | die Einwilligung zur Weitergabe der E-Mail-Adresse fehlgeschlagen ist |

In `Basket-MinOrder` sind `WS-MinOrder-Value` und `WS-Currency` verwendbar, in `GiftProductSubTotalUnderValue` die Tags `WS-GiftProductMissingSubTotal` und `WS-CurrencySymbol`. Schreiben Sie die Beträge nicht aus, sonst laufen Text und Konfiguration auseinander.

### Versand und Lieferung

| Parameter | Erscheint, wenn |
| - | - |
| `DelivererMissing` | keine Versandart mehr zur Verfügung steht |
| `DelivererAdditionalInput` | Zusatzangaben zur Versandart fehlen |
| `DeliveryDate` | ein gewünschtes Lieferdatum fehlt |

### Adressen

| Parameter | Erscheint, wenn |
| - | - |
| `Addr-Input` | die Rechnungsadresse unvollständig oder fehlerhaft ist |
| `Addr-Saved`, `Addr-Deleted` | die Rechnungsadresse gespeichert oder gelöscht wurde |
| `DelivAddr-Input` | die Lieferadresse unvollständig oder fehlerhaft ist |
| `DelivAddr-Saved`, `DelivAddr-Deleted` | die Lieferadresse gespeichert oder gelöscht wurde |
| `DelivAddr-Invalid` | die gewählte Lieferadresse nicht mehr gültig ist |

In `DelivAddr-Invalid` ist das Tag `D-EditLink` verwendbar. Führen Sie den Käufer damit direkt auf die Adressverwaltung, statt ihn selbst suchen zu lassen.

### Kundenkonto, Merkliste und gespeicherte Warenkörbe

| Parameter | Erscheint, wenn |
| - | - |
| `EmtpyMemoList` | die Merkliste leer ist |
| `MemoListLogin` | ein nicht angemeldeter Käufer etwas auf die Merkliste setzen will |
| `MemoListFull` | die Merkliste voll ist |
| `Bank-Saved`, `Bank-Deleted` | Bankdaten gespeichert oder gelöscht wurden |
| `OrderHistory` | die Bestellhistorie eine Meldung braucht |
| `EmptyReOrder` | keine wiederbestellbaren Produkte vorliegen |
| `SavedBasket-Created` | ein gespeicherter Warenkorb angelegt wurde |
| `SavedBasket-Saved` | ein gespeicherter Warenkorb aktualisiert wurde |
| `SavedBasket-Replaced` | ein gespeicherter Warenkorb ersetzt wurde |
| `SavedBasket-Added` | der aktuelle Warenkorb einem gespeicherten hinzugefügt wurde |
| `SavedBasket-Deleted` | ein gespeicherter Warenkorb gelöscht wurde |
| `SavedBasket-DeletedEntry` | eine Position daraus gelöscht wurde |
| `SavedBasket-DescrEmpty` | die Bezeichnung fehlt |

> [!WARNING]
>
> Der Parameter heißt tatsächlich `EmtpyMemoList` und nicht `EmptyMemoList`. Der Dreher steckt in der Namenstabelle des Shopsystems selbst. Schreiben Sie den Namen also genau so, sonst bleibt die Meldung leer.

### Suche

| Parameter | Erscheint, wenn |
| - | - |
| `SearchMinLen` | der Suchbegriff zu kurz ist |
| `SearchNoMatch` | die Suche nichts gefunden hat |

### Wunschliste und Weiterempfehlung

| Parameter | Erscheint, wenn |
| - | - |
| `ProductFromDifferentWishLists` | Produkte aus verschiedenen Wunschlisten in einem Warenkorb landen sollen |
| `ProductRecmd-Input` | die Eingaben zur Weiterempfehlung fehlerhaft sind |
| `ProductRecmd-EmailError` | die eingegebene E-Mail-Adresse ungültig ist |

Der Parameter heißt im Shopsystem `ProductRecmd-EmailError`. Die Altdokumentation schreibt ihn mit großem M als `ProductRecmd-EMailError`. Beide Schreibweisen werden angenommen.

### Prime-Shopping

| Parameter | Erscheint, wenn |
| - | - |
| `ProductPrimePackageAlreadyPurchased` | ein bereits erworbenes Prime-Paket erneut gekauft werden soll |
| `ProductPrimeProductNoLogIn` | ein nicht angemeldeter Käufer ein Prime-Produkt bestellen will |
| `ProductPrimeProductNoValidPrimePackage` | ein angemeldeter Käufer ohne gültiges Prime-Paket ein Prime-Produkt bestellen will |

> [!WARNING]
>
> Diese drei Meldungen erscheinen nur, wenn der jeweilige Parameter gefüllt ist. Bleibt er leer, dann erscheint der Hinweis erst auf der Bestellübersicht, also deutlich später im Bestellvorgang. In allen drei Texten ist ausschließlich das Tag `PR-Name` verwendbar, andere Tags werden nicht ersetzt.

### Module und Schnittstellen

| Parameter | Erscheint, wenn |
| - | - |
| `NoOffers` | keine kundenspezifischen Angebote vorliegen |
| `OffersBasket-1` | bereits Produkte im Warenkorb liegen und ein Angebot nur separat bestellbar ist |
| `OffersBasket-2` | bereits ein Angebot im Warenkorb liegt |
| `IDSNoBasketInput` | nicht alle übergebenen Produkte in den Warenkorb konnten |
| `IDSParameterMissing` | beim Aufruf der Schnittstelle ein Parameter fehlt |
| `InstantVoucherError` | bei einem Kaufgutschein zum Ausdrucken ein Fehler aufgetreten ist |
| `PDFGeneratorError` | eine PDF-Datei nicht erzeugt werden konnte |
| `RPDE_Labelprint-BasketError` | ein Labelprint24-Produkt nicht in den Warenkorb konnte |
| `TrustedShopsAdv` | der Trusted-Shops-Käuferschutz nicht verfügbar ist |
| `FastOrderConfigured` | die Einstellungen der Schnellbestellung übernommen wurden |
| `Inquiry-Error` | bei einer Anfrage ein Fehler aufgetreten ist |

### Sichere Sitzung

Diese vier Meldungen erscheinen auf der Hinweisseite ws\_notify.htm und betreffen die Session-Verwaltung mit Secure Cookies. Da alle Shopseiten im SSL-Modus geladen werden, wird in der Praxis meist nur die erste gebraucht.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<NotifyMessages-Txt>
   SecureCookieTokenError            =
   SSLError                          =
   SecureLoadTemplateError           =
   StandardTemplateLoadTemplateError =
</NotifyMessages-Txt>
```

| Parameter | Erscheint, wenn |
| - | - |
| `SecureCookieTokenError` | kein Cookie gesetzt werden konnte |
| `SSLError` | eine gesicherte Seite im HTTP-Modus geöffnet werden soll |
| `SecureLoadTemplateError` | ein Template aus dem Abschnitt `SecureLoadTemplates` im HTTP-Modus geöffnet werden soll |
| `StandardTemplateLoadTemplateError` | eine Seite des Bestellprozesses, des Kundenkontos oder der Anmeldung im HTTP-Modus geöffnet werden soll |

Ob diese Meldungen in Ihrem Shop überhaupt angezeigt werden, muss die WEBSALE Technik gesondert freischalten. Fragen Sie bei Bedarf Ihren WEBSALE Ansprechpartner.

### Veraltete Einträge

Die Namenstabelle des Shopsystems enthält sieben Platzhalter, die mit `deprecated` beziehungsweise `DEPRECATED` benannt sind. Sie stammen aus entfallenen Funktionen und halten nur die Positionen in der Tabelle. Ein Parameter dieses Namens in Ihrer Konfiguration hat keine Wirkung.


## Related topics

- [Geschenkprodukte](https://dokumentation.websale.de/v8s/marketing-produkte/geschenkprodukte.md)
- [Grundlagen und Technik](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/grundlagen-und-technik.md)
- [Set-Produkte mit fester Zusammenstellung](https://dokumentation.websale.de/v8s/set-produkte/set-produkte-mit-fester-zusammenstellung.md)
- [Standardtexte](https://dokumentation.websale.de/v8s/einstellungen/standardtexte.md)
- [E-PIA_ (Upload)](https://dokumentation.websale.de/v8s/referenz/tags/e-pia/upload.md)


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