APRO Dokumentation · Stand 6. November 2026

Gutschein-Widget einbinden

Zuletzt aktualisiert: 5. November 2026ca. 4 Min. Lesezeit

PDF erzeugen

Das Gutschein-Widget ist eine <giftcard-widget>-Webkomponente, die den APRO-Gutscheinshop für eine Location in einem iframe lädt. Zwei Zeilen genügen — Kundinnen und Kunden kaufen und personalisieren Gutscheine, ohne die Host-Seite zu verlassen.

  • Skript: https://smorderfrontend.azureedge.net/embed/widget.js
  • Tag: <giftcard-widget location-id="…">
  • Drei Modi: Inline-Liste (Gutscheinliste füllt den Container), Inline-Button (Button im Seitenfluss öffnet ein Panel) oder schwebender Button (fixierter FAB öffnet ein Panel)

Schnellstart

Minimale Einbindung — Skript einmal laden, danach das Tag dort einsetzen, wo der Shop erscheinen soll:

<script src="https://smorderfrontend.azureedge.net/embed/widget.js"></script>
<giftcard-widget location-id="535"></giftcard-widget>

Mehr braucht es nicht. Das Widget lädt die Gutscheinkategorien der Location, rendert den Shop und führt durch den gesamten Kaufvorgang. Die Host-Seite muss lediglich Platz für das Layout bereitstellen.

Beispiel — Inline-Button

Gerendert mit presentation="inline-button". Der Trigger steht im Seitenfluss genau dort, wo das <giftcard-widget>-Tag platziert ist; ein Klick öffnet den Gutscheinshop in einem Modal-Panel.

<script src="https://smorderfrontend.azureedge.net/embed/widget.js"></script>
<giftcard-widget
  location-id="535"
  locale="de"
  presentation="inline-button"
  expand-icon="redeem"
  expand-label="Gutscheine"
  headline="Gutschein kaufen"
  max-height="700"
></giftcard-widget>

<div style="padding:1rem; margin:1.25rem 0;">
<giftcard-widget location-id="535" locale="de" presentation="inline-button" expand-icon="redeem" expand-label="Gutscheine" headline="Gutschein kaufen" max-height="700" ></giftcard-widget>
</div>

Beispiel — Inline-Liste

Dasselbe Widget ohne presentation — die volle Gutscheinliste fügt sich in den Seitenfluss ein, begrenzt durch max-height.

<script src="https://smorderfrontend.azureedge.net/embed/widget.js"></script>
<giftcard-widget
  location-id="535"
  locale="de"
  max-height="700"
></giftcard-widget>

<style>{giftcard-widget:not([presentation]) { display: block; min-height: 320px; }}</style>

<div style="border:1px dashed var(--sl-color-gray-5); border-radius:10px; padding:1rem; margin:1.25rem 0; min-height:740px;">
<giftcard-widget location-id="535" locale="de" max-height="700" style="display:block; height:700px;" ></giftcard-widget>
</div>

Interaktiver Builder

Attribute unten anpassen — Markup und Vorschau aktualisieren sich sofort. Den fertigen Schnipsel direkt ins CMS oder Template kopieren.

Inline-Button-Modus

Empfohlener Standard. Mit presentation="inline-button" wird der Trigger genau dort gerendert, wo das <giftcard-widget>-Tag platziert ist. Ein Klick öffnet den Gutscheinshop in einem Modal-Panel. Das Layout der Host-Seite bleibt unverändert, bis der Kunde aktiv wird.

<giftcard-widget
  location-id="535"
  locale="de"
  presentation="inline-button"
  expand-icon="redeem"
  expand-label="Gutscheine"
  headline="Gutschein kaufen"
  max-height="700"
></giftcard-widget>

Schwebender-Button-Modus

Mit presentation="expandable" wechselt das Widget in den fixierten FAB-Modus: ein runder Pill-Button in einer von sechs Ecken öffnet ein verankertes Panel mit dem Shop. Praktisch, wenn dauerhaft ein Einstiegspunkt sichtbar sein soll, der dem Besucher beim Scrollen folgt.

<giftcard-widget
  location-id="535"
  locale="de"
  presentation="expandable"
  position="right-bottom"
  max-height="700"
  max-width="420"
  expand-label="Gutscheine"
  expand-icon="card_giftcard"
  headline="Gutschein kaufen"
></giftcard-widget>

position steuert sowohl die FAB-Position als auch die Kante, an der das Panel andockt. Erlaubte Werte:

  • right-bottom (Standard), left-bottom, center-bottom
  • right-top, left-top, center-top

expand-icon ist ein Material-Icons-Ligaturname (z. B. redeem, card_giftcard, celebration). Wird über @fontsource/material-icons im Embed gebündelt — Bild-URLs werden nicht unterstützt.

expand-theme schaltet zwischen dark (Standard) und light für die Optik. Die Modal-Titelleiste folgt demselben Theme — dunkel im Standard, hell bei expand-theme="light".

Inline-Listen-Modus

presentation weglassen (oder leer setzen), um die volle Gutschein­liste in den Seitenfluss zu rendern. Das Widget übernimmt die Breite des Elternelements und wächst bis zur natürlichen iframe-Höhe, begrenzt durch max-height. Geeignet für eine dedizierte „Gutscheine"-Landingseite.

<giftcard-widget
  location-id="535"
  locale="de"
  max-height="700"
></giftcard-widget>

Attribute

Attribut

Pflicht

Standard

Beschreibung

location-id

✅

—

Numerische APRO-Location-ID. Ohne Wert mountet das Widget nicht.

locale

—

de

UI-Sprache im iframe: de, en, it. Setzt auch die Standard-Beschriftung des Buttons.

presentation

—

`` (Inline-Liste)

inline-button rendert einen Trigger im Seitenfluss, expandable rendert einen fixierten FAB. Leer oder unbekannt = volle Inline-Liste.

max-height

—

—

Pixel-Limit. Inline-Liste: iframe-Höhe. Panel-Modi: Panel-Höhe (zusätzlich an Viewport gekoppelt).

max-width

—

—

Pixel-Limit für die Panel-Breite. Nur Panel-Modi.

position

—

right-bottom

Einer von sechs Ecken-Schlüsseln; bestimmt den Panel-Anker (und FAB-Position bei presentation="expandable"). Nur Panel-Modi.

expand-label

—

locale-Standard

Beschriftung auf dem Trigger-Button. Leer = automatisch nach locale. Nur Panel-Modi.

expand-theme

—

dark

dark oder light. Gilt für Trigger und Modal-Titelleiste. Nur Panel-Modi.

expand-icon

—

—

Material-Icons-Ligature links vom Text. Nur Panel-Modi.

headline

—

—

Titelleiste über dem iframe im Panel; wird auch als ?headline=… an das iframe weitergegeben. Nur Panel-Modi.

page-background

—

—

Beliebige CSS-Farbe (#ffffff, rgb(...), transparent, …). Wird auf den iframe-Body angewendet, damit sich der Shop optisch in die Host-Seite einfügt; tönt zusätzlich Panel und Inline-Wrapper, bis das iframe geladen ist.

breakoutPageOnMobile

—

false

Bei true öffnet sich der individuelle Gutschein-Editor auf Smartphones in einem neuen Tab statt im iframe.

Skript einbinden

widget.js einmal pro Seite laden — beliebig im <head> oder vor </body>. Das Skript registriert das <giftcard-widget>-Custom-Element global; nachfolgende Tags aktivieren sich automatisch.

<script src="https://smorderfrontend.azureedge.net/embed/widget.js"></script>

Mehrere Widgets auf einer Seite sind unterstützt (z. B. ein Inline-Shop plus ein ausklappbares FAB an anderer Stelle). Jedes iframe ist isoliert.