Zum Hauptinhalt springen

Widget: Pässe und Abonnements zusammen in einem Widget anzeigen

Du kannst Pässe und Abonnements in einem Widget anzeigen, indem du beide Widgets auf derselben Seite platzierst und danach ein kurzes Skript

Schritt 1: Beide Widget-Codes generieren

Generiere den Code für jedes Widget nacheinander in deinem Backoffice.

  1. Gehe zu Einstellungen > Widgets.

  2. Wähle unter „Komponente auswählen" Pässe aus, lege deine Optionen fest (zum Beispiel, welche Pass-Kategorien angezeigt werden sollen) und kopiere den Code.

  3. Gehe zurück, wähle Abonnement aus, lege deine Optionen fest und kopiere den Code.

Halte beide Codes bereit. Im nächsten Schritt fügst du sie zusammen ein.

Schritt 2: Beide Widgets zusammen einfügen

Füge den Abonnement-Code und danach den Pässe-Code nacheinander in denselben HTML- oder Code-Block deiner Seite ein. Bearbeite keinen der beiden Codes.

Das folgende Beispiel zeigt beide Widgets zusammen. Die companyId ist ein Platzhalter: Deine eigenen Codes enthalten deine echte Unternehmens-ID und die Widget-IDs.

<!-- Subscription widget -->
<script id="insert-bsport-widget-cdn">!function (b, s, p, o, r, t) { typeof window.BsportWidget === "undefined" && !document.getElementById("bsport-widget-cdn") && !function () { m = b.createElement(s), m.id = "bsport-widget-cdn", m.src = p, b.getElementsByTagName("head")[0].appendChild(m) }() }(document, "script", "https://cdn.bsport.io/scripts/widget.js")</script>
<script id="bsport-widget-mount">
function MountBsportWidget(config, repeat=1) {
if (repeat > 50) { return }
if (!window.BsportWidget) {
return setTimeout(() => {
MountBsportWidget(config,repeat+1)
}, 100 * repeat || 1)
}
BsportWidget.mount(config)
}
</script>
<script>
MountBsportWidget({
"parentElement": "bsport-widget-337136",
"companyId": yourcompanyId,
"franchiseId": null,
"dialogMode": 1,
"widgetType": "subscription",
"showFab": false,
"fullScreenPopup": false,
"styles": undefined,
"config": {
"subscription": {}
}
})
</script>
<div id="bsport-widget-337136"></div>

<!-- Passes widget -->
<script id="insert-bsport-widget-cdn">!function (b, s, p, o, r, t) { typeof window.BsportWidget === "undefined" && !document.getElementById("bsport-widget-cdn") && !function () { m = b.createElement(s), m.id = "bsport-widget-cdn", m.src = p, b.getElementsByTagName("head")[0].appendChild(m) }() }(document, "script", "https://cdn.bsport.io/scripts/widget.js")</script>
<script id="bsport-widget-mount">
function MountBsportWidget(config, repeat=1) {
if (repeat > 50) { return }
if (!window.BsportWidget) {
return setTimeout(() => {
MountBsportWidget(config,repeat+1)
}, 100 * repeat || 1)
}
BsportWidget.mount(config)
}
</script>
<script>
MountBsportWidget({
"parentElement": "bsport-widget-421437",
"companyId": yourcompanyId,
"franchiseId": null,
"dialogMode": 1,
"widgetType": "pass",
"showFab": false,
"fullScreenPopup": false,
"styles": undefined,
"config": {
"pass": {
"paymentPackCategories": [],
"privatePassCategories": []
}
}
})
</script>
<div id="bsport-widget-421437"></div>

Schritt 3: Das Skript nach beiden Widgets einfügen

Füge dieses Skript direkt nach dem Pässe-Widget-Code in denselben Code-Block ein.

Es wartet, bis beide Widgets geladen sind, und verschiebt dann die Abonnements in den Container der Pässe. Die Prüfung erfolgt alle 0,3 Sekunden.
​

<script>
function appendSubs() {

const subs = document.querySelector(".bs-contract-page");
if (!subs) {
setTimeout(appendSubs, 300);
return;
}

const passes = document.querySelector(".bs-pass-page__list");
if (!passes) {
setTimeout(appendSubs, 300);
return;
}

passes.appendChild(subs);
}

document.addEventListener("DOMContentLoaded", () => {
appendSubs();
})
</script>


Veröffentliche die Seite. Deine Mitglieder sehen die Abonnements jetzt innerhalb der Pässe-Liste.

Hat dies deine Frage beantwortet?