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

# WC- (WelcomeBack-Funktion)

> Wiederkehrende Besucher mit Namen begrüßen: prüfen ob die Funktion aktiv ist und Daten vorliegen, Felder aus dem WelcomeBack-Cookie ausgeben und den Link zum Zurücksetzen anbieten.

Kommt ein Käufer nach Tagen zurück in den Shop, ist er nicht mehr angemeldet, der Shop weiß aber noch, wer er war. Mit der WelcomeBack-Funktion lässt sich das nutzen: eine persönliche Begrüßung mit Namen, der Hinweis auf den letzten Besuch, und ein Weg zurück ins Kundenkonto.

Die `WC-`Tags bauen diese Begrüßung auf. Fünf Tags reichen dafür, denn die eigentliche Arbeit macht die Shopkonfiguration.

Referenz: Abschnitt [`WelcomeCookie`](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/kunde-anmeldung-und-kundenkonto#welcomecookie) in der Shopkonfiguration

Alle Tags sind auf allen Templates zulässig. Welche Felder zur Verfügung stehen, legen Sie im Abschnitt `WelcomeCookie` der Shopkonfiguration fest.

## Zwei Prüfungen vor der Begrüßung

Bevor Sie einen Namen anzeigen, sind zwei Fragen zu klären: Ist die Funktion überhaupt eingeschaltet, und liegen für diesen Besucher Daten vor.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WC-Active}
   {WC-Data}
      <p>Guten Tag ~WC-Data_FirstName~ ~WC-Data_LastName~.</p>
   {/WC-Data}

   {!WC-Data}
      <p>Willkommen in unserem Shop.</p>
   {/!WC-Data}
{/WC-Active}
```

| Tag | Greift, wenn |
| - | - |
| `WC-Active` | die WelcomeBack-Funktion in der Shopkonfiguration eingeschaltet ist |
| `WC-Data` | für diesen Besucher Daten vorliegen |

`WC-Active` fragt eine reine Konfigurationseinstellung ab. Die Klammerung ist vor allem beim Einrichten nützlich, denn sie zeigt im Template sofort, ob die Funktion überhaupt freigeschaltet wurde.

> [!WARNING]
>
> `WC-Data` greift nur, wenn zwei Bedingungen zugleich erfüllt sind: Im Cookie steht etwas, **und** der Besucher hat nicht über den Zurücksetzen-Link erklärt, dass er jemand anderes ist. Nach einem Klick auf den Link bleibt der Bereich also stumm, obwohl das Cookie technisch noch da ist.

Ist die Funktion abgeschaltet, geben alle Tags außer `WC-Active` nichts aus, und ihre Klammerungen greifen nicht. Sie können den Begrüßungsblock also auch ohne `{WC-Active}` schreiben. Die Schachtelung macht die Absicht im Template aber lesbarer.

## Die Felder aus dem Cookie

`WC-Data_` gefolgt vom technischen Feldnamen gibt das jeweilige Feld aus.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WC-Data}
   <p>
      Guten Tag
      {WC-Data_FirstName}~WC-Data_FirstName~ {/WC-Data_FirstName}~WC-Data_LastName~.
      {WC-Data_LastLogin}Ihr letzter Besuch war am ~WC-Data_LastLogin~.{/WC-Data_LastLogin}
   </p>
{/WC-Data}
```

| Tag | Liefert |
| - | - |
| `WC-Data_<technischer Feldname>` | das Feld aus den hinterlegten Daten |
| `WC-Data_LastLogin` | das Datum der letzten Anmeldung |

Welche Felder es gibt, bestimmen Sie im Abschnitt `WelcomeCookie` der Shopkonfiguration über die Unterabschnitte `Fields` und deren Parameter `AddressField`. Dort tragen Sie die technischen Feldnamen kommagetrennt ein, und genau diese Namen hängen Sie dann an `WC-Data_` an.

> [!WARNING]
>
> Zur Verfügung stehen ausschließlich Felder der **Rechnungsadresse**. Das Shopsystem gleicht die Namen gegen die Felddefinition der Rechnungsadresse ab, andere Felder lassen sich nicht aufnehmen.
>
> Ein Feldname, der nicht konfiguriert ist, wird **nicht** als ungültiges Tag gemeldet. Das Tag gibt schlicht nichts aus, und eine Klammerung darum blendet aus. Bleibt eine Stelle unerwartet leer, prüfen Sie zuerst den Feldnamen gegen die Shopkonfiguration.
>
> `WC-Data_LastLogin` greift auch als Klammerung, und zwar dann, wenn ein Datum vorliegt. Die Klammerung lohnt sich, denn bei einem Besucher ohne hinterlegtes Anmeldedatum stünde sonst ein Satz mit leerem Datum auf der Seite.

Alle Feld-Tags greifen als Klammerung dann, wenn das Feld gefüllt ist. Nutzen Sie das für Felder, die nicht jeder Kunde pflegt, beispielsweise eine Anrede oder einen Titel.

> [!WARNING]
>
> Die Feldwerte werden **ohne HTML-Kodierung** ausgegeben. Es handelt sich um Daten, die der Kunde selbst bei der Registrierung eingetragen hat. Schreiben Sie sie deshalb nicht ungeprüft in ein Attribut oder in ein Skript, sondern nur in sichtbaren Text.

## Der Weg zurück zum Anonymen

Nicht jeder Besucher ist derselbe Mensch. An einem geteilten Rechner begrüßt der Shop sonst die falsche Person mit Namen.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WC-Data}
   <p>
      Sie sind nicht ~WC-Data_FirstName~ ~WC-Data_LastName~?
      <a href="~WC-DeleteLink~">Begrüßung zurücksetzen</a>
   </p>
{/WC-Data}
```

`WC-DeleteLink` ist ausschließlich ein Einzel-Tag. Der Link löscht das WelcomeBack-Cookie, und die Begrüßung bleibt bis zur nächsten Anmeldung aus.

> [!WARNING]
>
> Bieten Sie diesen Link immer an, wenn Sie jemanden mit Namen begrüßen. Ohne ihn hat ein Besucher an einem gemeinsam genutzten Rechner keine Möglichkeit, die fremde Begrüßung loszuwerden.

Der erzeugte Link führt über HTTP, nicht über HTTPS. Das ist unkritisch, denn übertragen wird dabei nichts außer dem Befehl, das Cookie zu löschen. Wenn Ihr Shop ausschließlich über HTTPS läuft, prüfen Sie den Link trotzdem einmal im fertigen Template.

## Was im Cookie steht

Im Cookie selbst stehen keine Namen. Es enthält nur eine Kennung, über die das Shopsystem die Daten in seiner eigenen Datenbank nachschlägt. Der Browser des Besuchers trägt also keine Adressdaten mit sich herum.

Das Cookie heißt `ws_<Shopkennung>_<Sprache>_welcome_cookie`. Wie lange es gilt, steht ebenfalls im Abschnitt `WelcomeCookie` der Shopkonfiguration.

> [!WARNING]
>
> Halten Sie den Begrüßungsblock schlank und greifen Sie nur auf die Felder zu, die Sie wirklich anzeigen. Jeder Feldzugriff bedient sich aus der Datenbank, und ein Block mit einem Dutzend Feldern steht auf jeder Seite des Shops.

## Ein vollständiges Beispiel

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{WC-Active}
   {WC-Data}
      <div class="welcomeback">
         <p>
            Guten Tag
            {WC-Data_FirstName}~WC-Data_FirstName~ {/WC-Data_FirstName}~WC-Data_LastName~.
            {WC-Data_LastLogin}Ihr letzter Besuch war am ~WC-Data_LastLogin~.{/WC-Data_LastLogin}
         </p>
         <p>
            <a href="~WS-LoginLink~">Jetzt anmelden</a>
            oder <a href="~WC-DeleteLink~">Begrüßung zurücksetzen</a>
         </p>
      </div>
   {/WC-Data}
{/WC-Active}
```

> [!WARNING]
>
> Geschrieben steht dort `~WC-Data_LastName sind`, was im Template kein Tag ergibt, sondern unverändert als Text erscheint. Hier steht die berichtigte Fassung.

Referenz: `WS-LoginLink` auf der Seite WS- (Allgemeine Tags)

## Die Tags im Überblick

| Tag | Einzel-Tag | Bereichs-Tag | negatives Bereichs-Tag | Schleifen-Tag |
| - | - | - | - | - |
| `WC-Active` | – | ja | ja | – |
| `WC-Data` | – | ja | ja | – |
| `WC-Data_<technischer Feldname>` | ja | ja | ja | – |
| `WC-Data_LastLogin` | ja | ja | ja | – |
| `WC-DeleteLink` | ja | – | – | – |

Alle Tags sind auf allen Templates zulässig. Die Feld-Tags und `WC-DeleteLink` gehören sinnvollerweise in den Bereich `{WC-Data}`, zwingend ist das nicht.

## Verwandte Themen

* Referenz: Abschnitt `WelcomeCookie` in der Shopkonfiguration
* Wegweiser: [Anmeldung und Registrierung](https://dokumentation.websale.de/v8s/kundenkonto/anmeldung-registrierung.md)
* Referenz: [WS- (Allgemeine Tags)](https://dokumentation.websale.de/v8s/referenz/tags/ws/shop-seite-und-technik.md)


## Related topics

- [Kunde, Anmeldung und Kundenkonto](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/kunde-anmeldung-und-kundenkonto.md)
- [WelcomeBack-Funktion](https://dokumentation.websale.de/v8s/kundenkonto/welcomeback-funktion.md)
- [$wsCookie - Browser-Cookies](https://dokumentation.websale.de/frontend/referenz/module/ws-cookie-browser-cookie.md)
- [Cookiewarenkorb verwenden](https://dokumentation.websale.de/v8s/warenkorb/cookiewarenkorb-verwenden.md)
- [Externe Dienste und Schnittstellen](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/externe-dienste-und-schnittstellen.md)


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