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

# Produktempfehlungsfunktion konventionell

> Käufer empfehlen Produkte per E-Mail weiter, mit Deep-Link auf das Produkt. Überblick, benötigte Angaben und die Wahl zwischen AJAX und konventioneller Integration.

Ein Käufer findet ein Produkt, das zu jemandem passt, den er kennt. Die Produktweiterempfehlung gibt ihm dafür ein Formular im Shop: Er trägt seinen Namen, seine E-Mail-Adresse und die des Empfängers ein, und der Shop verschickt eine E-Mail mit einem Deep-Link auf genau dieses Produkt.

Den Inhalt dieser E-Mail gestalten Sie über ein eigenes Mail-Template.

> [!WARNING]
>
> Lassen Sie alle Inhalte, die Sie in die Empfehlungs-E-Mail aufnehmen, rechtlich prüfen. Der Empfänger hat dieser E-Mail nie zugestimmt. Jeder Inhalt, der über die Empfehlung selbst hinausgeht, kann als Werbung und damit als unerwünschte E-Mail gewertet werden. Das gilt ausdrücklich auch für Links auf Ihre Startseite oder auf andere Produkte.
>
> Der Shop verschickt die E-Mail mit der Absenderadresse, die der Käufer eingetragen hat. Diese Adresse wird nicht geprüft und gehört ihm nicht notwendigerweise. Rechnen Sie damit bei der Zustellbarkeit, und rechnen Sie damit auch bei der rechtlichen Prüfung.

## Benötigte Angaben

Der Käufer füllt im Formular bis zu sechs Felder aus. Vier davon prüft der Shop, zwei nicht.

| Angabe | Pflicht |
| - | - |
| Vorname des Absenders | ja |
| Nachname des Absenders | ja |
| E-Mail-Adresse des Absenders | ja, zusätzlich Formatprüfung |
| E-Mail-Adresse des Empfängers | ja, zusätzlich Formatprüfung |
| Betreff der E-Mail | nein |
| Text der Nachricht | nein |

Der Betreff ist technisch **nicht** verpflichtend. Bleibt das Feld leer, geht die E-Mail ohne Betreff hinaus. Wenn Sie das nicht wollen, geben Sie im Template einen sinnvollen Vorschlag vor, beispielsweise über das `value`-Attribut des Eingabefeldes.

## Die beiden Integrationsarten

Für den Einbau in den Shop stehen zwei Wege zur Wahl. Sie unterscheiden sich darin, ob der Käufer die Produktseite verlässt.

| | konventionell | mit AJAX |
| - | - | - |
| Aufruf | Die Templates werden als eigene Shopseiten aufgerufen | Die Inhalte werden in `div`-Container nachgeladen |
| Produktseite | wird verlassen, oder es öffnet sich ein Popup-Fenster | bleibt stehen |
| Eingabe und Meldungen | auf der neuen Seite beziehungsweise im Popup | dynamisch im Container |
| Aufwand | geringer | höher |

Die konventionelle Integration ist der einfachere Weg und eine vollwertige Lösung. Die AJAX-Integration wirkt geschlossener, weil der Käufer den Faden nicht verliert, verlangt dafür aber zusätzlich JavaScript-Arbeit an der Design-Komponente.

Wegweiser: "Produkt weiterempfehlen" per AJAX integrieren

## Konfiguration

Für die Funktion sind drei Einträge nötig, unabhängig von der gewählten Integrationsart.

Im Abschnitt `<Templates>` der `shop.config` legen Sie die beiden Shopseiten fest.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<Templates>
   ...
   ProductRecmd        = ws_prodrecmd.htm
   ProductRecmdConfirm = ws_prodrecmd_confirm.htm
   ...
</Templates>
```

| Eintrag | Zeigt |
| - | - |
| `ProductRecmd` | das Eingabeformular, und bei fehlerhafter Eingabe dasselbe Formular erneut |
| `ProductRecmdConfirm` | die Bestätigung nach erfolgreichem Versand |

Im Abschnitt `<ProdRecmdMail>` legen Sie das Template der E-Mail selbst fest.

```ini theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<ProdRecmdMail>
   Template = mail_prodrecmd.htm
</ProdRecmdMail>
```

Der Betreff der E-Mail steht bewusst nicht in dieser Konfiguration. Er kommt aus dem Formular, also vom Käufer.

Referenz: [Abschnitt Templates](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/grundlagen-und-technik.md#templates) · [Abschnitt ProdRecmdMail](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/e-mails.md#prodrecmdmail)

## Tags für das Eingabeformular

Die Tags gelten in den beiden Shopseiten-Templates. Zu jedem Feld gehören zwei Tags: eines für den Feldnamen und eines für den bereits eingegebenen Wert.

| Feld | Feldname | Wert |
| - | - | - |
| Vorname Absender | `ProductRecmd-FirstNameFrom_input` | `ProductRecmd-FirstNameFrom` |
| Nachname Absender | `ProductRecmd-LastNameFrom_input` | `ProductRecmd-LastNameFrom` |
| E-Mail Absender | `ProductRecmd-EmailFrom_input` | `ProductRecmd-EmailFrom` |
| E-Mail Empfänger | `ProductRecmd-EmailTo_input` | `ProductRecmd-EmailTo` |
| Betreff | `ProductRecmd-Subject_input` | `ProductRecmd-Subject` |
| Nachricht | `ProductRecmd-Msg_input` | `ProductRecmd-Msg` |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<input type="text"
       name="~ProductRecmd-EmailTo_input~"
       value="~ProductRecmd-EmailTo~">
```

Setzen Sie den Wert immer mit ins Feld. Bei einer fehlerhaften Eingabe wird dasselbe Formular erneut angezeigt. Ohne das `value`-Attribut steht der Käufer dann vor leeren Feldern und tippt alles noch einmal.

> [!WARNING]
>
> Diese Tags stehen ausschließlich auf den Seiten der Produktweiterempfehlung zur Verfügung. Auf einer anderen Shopseite liefern sie nichts.

## Fehlerhafte Eingaben hervorheben

Zu den vier Pflichtfeldern gibt es je ein Fehler-Tag. Als einzelnes Tag liefert es `_error`, wenn das Feld beanstandet wurde, und sonst nichts. Damit hängen Sie die Fehlerkennzeichnung direkt an einen Klassennamen an.

| Feld | Tag |
| - | - |
| E-Mail Empfänger | `ProductRecmd-EmailTo_error` |
| Vorname Absender | `ProductRecmd-FirstNameFrom_error` |
| Nachname Absender | `ProductRecmd-LastNameFrom_error` |
| E-Mail Absender | `ProductRecmd-EmailFrom_error` |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<input type="text"
       class="eingabefeld~ProductRecmd-EmailTo_error~"
       name="~ProductRecmd-EmailTo_input~"
       value="~ProductRecmd-EmailTo~">
```

```css theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
.eingabefeld        { border: 1px solid #cccccc; }
.eingabefeld_error  { border: 1px solid #cc0000; }
```

Dieselben Tags funktionieren auch als Klammerung, wenn Sie statt einer Rahmenfarbe einen Hinweistext ausgeben wollen.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{ProductRecmd-EmailTo_error}
   <p class="fehlermeldung">Bitte prüfen Sie die E-Mail-Adresse des Empfängers.</p>
{/ProductRecmd-EmailTo_error}
```

Die Rahmenfarbe allein sollte den Fehler nicht tragen. Wer Farben schlecht unterscheidet, sieht sonst nur ein Formular, das sich nicht abschicken lässt. Geben Sie zusätzlich einen Text aus.

## Das Mail-Template

Im Mail-Template steht der Deep-Link auf das empfohlene Produkt.

| Tag | Liefert |
| - | - |
| `ProductRecmd-Link` | den absoluten Link auf das Produkt |

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
<p>~ProductRecmd-FirstNameFrom~ ~ProductRecmd-LastNameFrom~ hat Ihnen ein Produkt empfohlen.</p>

<p><a href="~ProductRecmd-Link~">Zum Produkt</a></p>

<p>~ProductRecmd-Msg~</p>
```

Der Link ist ein Kurzlink. Die vollständige Zieladresse liegt in einer Tabelle des Shops, der Link selbst enthält nur einen Schlüssel darauf. Er ist deshalb kurz genug, um in einer E-Mail nicht umgebrochen zu werden, und er lässt sich nicht von Hand zusammenbauen.

An den Link hängt der Shop zwei Parameter für die Auswertung an: einen festen Referer und eine Angabe zum empfohlenen Artikel. Sie können in Ihrer Statistik damit erkennen, wie viele Besucher über Empfehlungen kommen und zu welchen Artikeln.

Referenz: [ProductRecmd-Link](https://dokumentation.websale.de/v8s/referenz/tags/productrecmd-produktempfehlung.md#die-tags-im-uberblick) · [ProductRecmd-Msg](https://dokumentation.websale.de/v8s/referenz/tags/productrecmd-produktempfehlung.md#die-tags-im-uberblick) · Tags für die Produktweiterempfehlung

## Verwandte Themen

* Wegweiser: "Produkt weiterempfehlen" per AJAX integrieren
* Wegweiser: [AJAX-Funktionen](https://dokumentation.websale.de/v8s/templates/ajax-funktionen.md)
* Referenz: [Abschnitt Templates](https://dokumentation.websale.de/v8s/referenz/konfigurationen/shopkonfiguration-shop-config/grundlagen-und-technik.md#templates)


## Related topics

- [Produktempfehlungsfunktion per AJAX](https://dokumentation.websale.de/v8s/produktweiterempfehlung/produktempfehlungsfunktion-per-ajax.md)
- [Templates und Tags für Produktempfehlung](https://dokumentation.websale.de/v8s/produktweiterempfehlung/templates-und-tags-fuer-produktempfehlung.md)
- [Grundlagen zu Texten und Sprachen eines Shops](https://dokumentation.websale.de/v8s/grundlagen-zu-texten-und-sprachen-eines-shops-textpflege.md)
- [JavaScript und jQuery](https://dokumentation.websale.de/v8s/templates/javascript-und-jquery.md)
- [Template-Typen](https://dokumentation.websale.de/v8s/grundlagen-templates/template-typen.md)


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