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

# $wsInserts - Werbemittelkennzeichen

> Modul $wsInserts: Das für das jeweilige Produkt gemerkte Werbemittelkennzeichen sowie die Einstellungen der Werbemittelkennzeichnung im Frontend werden für die Produktdetailseite, die Kategorie-Kacheln und den Warenkorb ausgelesen.

Mit dem `$wsInserts`-Modul können Sie die [Werbemittelkennzeichen](/frontend/funktionsubersicht/werbemittelkennzeichnung) abrufen, die sich der Shop für einzelne Produkte gemerkt hat, sowie die Einstellungen der Werbemittelkennzeichnung. Das Modul stellt das gemerkte Kennzeichen überall dort bereit, wo ein Produkt dargestellt wird - also auch auf Kategorie-Kacheln und der Produktdetailseite -, nicht nur im Warenkorb.

Auf dieser Seite geht es um das Auslesen der Werte. Wie der Shop ein Werbemittelkennzeichen erfasst, geprüft und einer Warenkorbposition zugeordnet wird, ist in der [Funktionsübersicht Werbemittelkennzeichen](/frontend/funktionsubersicht/werbemittelkennzeichnung) beschrieben. Das Kennzeichen einer bereits hinzugefügten Warenkorbposition liefert [\$wsBasket](/frontend/referenz/module/wsbasket) über `$item.insert`.

***

## Grundkonzept

`$wsInserts` ist ein reines Lese-Modul. Es fasst zwei Arten von Informationen zusammen:

* **Gemerkte Kennzeichen je Produkt** in `byProduct`: Ruft ein Kunde ein Produkt mit einem Werbemittelkennzeichen auf - beispielsweise über einen Link aus einem Mailing -, merkt sich der Shop den entsprechenden Code. `byProduct` liefert diesen Code und prüft ihn gegen die für das Produkt gültigen Codes.
* **Die Einstellungen** in [`enabled`](#wsinserts-enabled), [`separator`](#wsinserts-separator), [`position`](#wsinserts-position) und `defaultInsertCode`: haben dieselben Werte wie in `$wsConfig.inserts`. Damit genügt in Templates rund um das Werbemittelkennzeichen ein einziges Objekt, während `$wsConfig.inserts`  weiterhin verfügbar bleibt.

Das Modul liefert die fertige Anzeige aus Artikelnummer und Code nicht. Sie wird im Template über die Komponente `components/itemNumberWithInsert.htm` erzeugt, siehe [Beispiele](#beispiele-für-den-datenzugriff).

***

## Modulübersicht

**Beispiel / Ausschnitt über** `$wsInserts`

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{= $wsInserts | json }}
```

**JSON-Ausgabe**

```json theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{
  "enabled": true,
  "separator": "-",
  "position": "after",
  "defaultInsertCode": "",
  "byProduct": {
    "71-3953": "09",
    "<ID einer Variante>": "DA"
  }
}
```

**Variablen des Moduls**

| **Variable** | **Rückgabe-Typ** | **Beschreibung** |
| - | - | - |
| `byProduct` | map | Gemerkte, gültige Werbemittelkennzeichen je Produkt. Schlüssel ist die Produkt-ID, bei Varianten die vollständige ID der Variante. |
| `enabled` | bool | Ob die Werbemittelkennzeichnung im Shop aktiv ist. |
| `separator` | string | Trennzeichen zwischen Artikelnummer und Code. |
| `position` | string | Position des Codes relativ zur Artikelnummer: `before` oder `after`. |
| `defaultInsertCode` | string | Standardcode, der greift, wenn kein oder ein ungültiger Code erfasst wurde. Kann leer sein. |

***

## Templates

Das Modul kann auf jeder Seite verwendet werden, auf der Produkte dargestellt sind. Typische Einsatzgebiete sind:

* **Produktdetailseite:** Artikelnummer mit dem gemerkten Code anzeigen, nachdem der Kunde über einen Link mit Werbemittelkennzeichen gekommen ist.
* **Kategorie-Kacheln und Produktlisten:** den gemerkten Code an jedem Produkt ausgeben, für das einer vorliegt.
* **Warenkorb und Checkout:** Ausgaben rund um das Werbemittelkennzeichen nur bei aktiver Funktion anzeigen (`enabled`).

***

## Variablen

### \$wsInserts.byProduct

Gibt die gemerkten Werbemittelkennzeichen je Produkt aus. Über die Produkt-ID als Schlüssel können Sie den Code für ein bestimmtes Produkt lesen.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{= $wsInserts.byProduct[$cProduct.id] }}
```

Für das Verhalten gilt:

* Der Schlüssel ist die vollständige Produkt-ID. Bei Varianten enthält sie die entsprechende Variante. Daher haben zwei Varianten desselben Produkts jeweils einen eigenen Eintrag.
* Jeder Code wird gegen die für das jeweilige Produkt gültigen Codes geprüft. Ist der gemerkte Code ungültig, wird stattdessen der [Standardcode](/frontend/funktionsubersicht/werbemittelkennzeichnung#konfiguration) angezeigt, sofern einer konfiguriert ist.
* Produkte ohne gemerkten Code und Produkte, für die sich kein gültiger Code ergibt, fehlen in der Liste. Der Zugriff liefert dann einen leeren Wert.
* Ist die Funktion deaktiviert, ist `byProduct` leer.
* Die gemerkten Codes gelten nur für die laufende Sitzung. Nach Abschluss der Bestellung beginnt eine neue Sitzung, sodass sie entfallen. Zudem setzt der Shop die Codes zurück, wenn der Warenkorb beim Abmelden oder beim Wechsel des Kundenkontos geleert wird.

### \$wsInserts.enabled

Gibt aus, ob die Werbemittelkennzeichnung im Shop aktiv ist. Nutzen Sie diesen Wert, um Ausgaben rund um das Werbemittelkennzeichen nur bei aktiver Funktion anzuzeigen.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ if $wsInserts.enabled }}
  <!-- Ausgaben zum Werbemittelkennzeichen -->
{{ /if }}
```

### \$wsInserts.separator

Gibt das konfigurierte Trennzeichen zwischen Artikelnummer und Code aus, beispielsweise `-`.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{= $wsInserts.separator }}
```

### \$wsInserts.position

Gibt aus, ob der Code vor (`before`) oder hinter (`after`) der Artikelnummer steht.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{= $wsInserts.position }}
```

### \$wsInserts.defaultInsertCode

Gibt den konfigurierten Standardcode aus. Ist keiner hinterlegt, ist der Wert leer.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{= $wsInserts.defaultInsertCode }}
```

<Note>
  Die Einstellung `insertCodeLength` aus dem Konfigurationsknoten [content.inserts](/konfiguration/content-katalog-kategorien-produkte#content-inserts-werbemittelkennzeichen) steht im Template weder über `$wsInserts` noch über `$wsConfig.inserts` zur Verfügung.
</Note>

***

## Beispiele für den Datenzugriff

### Artikelnummer mit gemerktem Werbemittelkennzeichen auf der Produktdetailseite anzeigen

Wenn für das Produkt ein Code hinterlegt ist, übergeben Sie diesen zusammen mit der Artikelnummer an die Komponente `components/itemNumberWithInsert.htm` . Die Komponente berücksichtigt dabei Trennzeichen und Position.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ if $wsInserts.enabled and $wsInserts.byProduct[$cProduct.id] }}
  <p>Art.-Nr.: {{ include "components/itemNumberWithInsert.htm" with $cNumber = $cProduct.itemNumber, $cCode = $wsInserts.byProduct[$cProduct.id] }}</p>
{{ else }}
  <p>Art.-Nr.: {{= $cProduct.itemNumber }}</p>
{{ /if }}
```

**Ergebnis** <br />Wenn der Kunde über den Link`/buntes-t-shirt?insert=09` auf die Produktseite kommt, wird die Artikelnummer `123456-09` angezeigt. Ohne gemerkten Code wird nur die reine Artikelnummer angezeigt.

### Gemerkten Code auf einer Kategorie-Kachel anzeigen

In einer Produktkachel sehen Sie die ID des jeweiligen Produkts. So erscheint der Hinweis nur bei Produkten, für die ein Code hinterlegt ist.

```html theme={"theme":{"light":"github-light","dark":"github-dark"},"languages":{"custom":["/languages/websale.json"]}}
{{ var $cInsert = $wsInserts.byProduct[$cProduct.id] }}
{{ if $cInsert }}
  <span class="badge">Werbemittelcode {{= $cInsert }}</span>
{{ /if }}
```

**Ergebnis** <br />Nur bei Kacheln von Produkten mit gemerktem Code wird der Hinweis "Werbemittelcode" zusammen mit dem Code angezeigt.

***

## Weiterführende Links

* [Werbemittelkennzeichen](/frontend/funktionsubersicht/werbemittelkennzeichnung): fachliche Übersicht mit Erfassungswegen, Auflösungslogik und Einrichtung.
* [\$wsBasket](/frontend/referenz/module/wsbasket): Werbemittelkennzeichen und Artikelnummer je Warenkorbposition über `$item.insert` und `$item.itemNumber`.
* [\$wsConfig](/frontend/referenz/module/wsconfig): dieselben Einstellungen über `$wsConfig.inserts`.
* [content - Katalog](/konfiguration/content-katalog-kategorien-produkte#content-inserts-werbemittelkennzeichen): Konfigurationsknoten `content.inserts`.


## Related topics

- [Werbemittelkennzeichen](/frontend/funktionsubersicht/werbemittelkennzeichnung.md)
- [$wsBasket - Warenkorb](/frontend/referenz/module/wsbasket.md)
- [$wsConfig - Konfiguration](/frontend/referenz/module/wsconfig.md)
- [content - Katalog (Kategorien & Produkte)](/konfiguration/content-katalog-kategorien-produkte.md)
- [Storefront API Warenkorb](/schnittstellen/storefront-api/storefront-api-warenkorb.md)


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