Zum Hauptinhalt springen

So öffnest du ein Widget mit einem Button

Diese Anleitung zeigt dir, wie du ein Widget mit einem Button öffnest

⚠️ Dies ist nur verfügbar für:

  • Private Pässe

  • Packs

  • Termine

  • Abonnements

Schritt 1. Benutzerdefinierten Button erstellen

Erstelle deinen individuellen Button und gib ihm eine bestimmte ID. Beispiel:

<button id="bsport-passes-widget">

Schritt 2. Button mit dem Widget verbinden

Gehe zu Settings > Widgets und füge den Widget-Code in deine Website ein.

Widget-Typ:

Jeder Widget-Typ wird unterschiedlich verbunden:

Login-Button-Widget:

Füge diesen Code nach dem Widget-Code und direkt vor dem </script>-Tag ein:

document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id");
button.addEventListener("click", function () {
const message = { type: 'bsport:login-button:request-login', data: {
"uniqueWidgetId": "unique-widget-id" }
}
window.postMessage(message, '*')
});
});

🚨 Wichtig

  • Ersetze button-id durch die Button-ID, die du erstellt hast

  • Ersetze unique-widget-id durch die eindeutige Widget-ID innerhalb der Funktion MountBsportWidget und im Code-Snippet

  • Das bsport-Div sollte so ausgeblendet werden: <div id="bsport-widget-id" style="display:none"></div>

Es sollte so aussehen:

 <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-id",
uniqueWidgetId: "unique-widget-id",
companyId: "company-id",
franchiseId: null,
dialogMode: 1,
widgetType: "loginButton",
showFab: false,
fullScreenPopup: false,
styles: undefined,
config: {
loginButton: {}
},
});
/* Hier die Verbindung mit dem Button und die Funktion, die beim Klick ausgelöst wird */
document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id");
button.addEventListener("click", function () {
const message = {
type: 'bsport:login-button:request-login',
data: { "uniqueWidgetId": "your-unique-id" } }
window.postMessage(message, '*')
});
});
</script>

/* Das Ergebnis sollte so aussehen. Es ist wichtig, das Div mit dem Inline-Style auszublenden, sonst wird ein weiterer Login-Button angezeigt */
<div id="bsport-widget-id" style="display:none"></div>

Zahlungs-Pack (Pässe)

Füge diesen Code nach dem Widget-Code und direkt vor dem </script>-Tag ein:

document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //z. B. pass-3213
button.addEventListener("click", function () {
var eventType = "bsport:pass:add-to-cart:payment-pack";
var eventData = { payment_pack_id: "payment_pack_id",
uniqueWidgetId: "unique-widget-id" };
window.parent.postMessage({ type: eventType, data: eventData }, "*");
});
});

🚨 Wichtig

  • Ersetze button-id durch die Button-ID, die du erstellt hast

  • Ersetze payment_pack-id durch die ID des Zahlungs-Packs

  • Ersetze unique-widget-id durch die eindeutige Widget-ID innerhalb der Funktion MountBsportWidget und im Code-Snippet

  • Das bsport-Div sollte so ausgeblendet werden: <div id="bsport-widget-id" style="display:none"></div>


Privater Pass (Termine)

Füge diesen Code nach dem Widget-Code und direkt vor dem </script>-Tag ein:

document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //z. B. pass-3213
button.addEventListener("click", function () {
var eventType = "bsport:pass:add-to-cart:private-pass";
var eventData = {
private_pass_id: "private_pass_id",
uniqueWidgetId: "unique-widget-id" };
window.parent.postMessage({ type: eventType, data: eventData }, "*");
});
});

🚨 Wichtig

  • Ersetze button-id durch die Button-ID, die du erstellt hast

  • Ersetze private_pass_id durch den privaten Pass, den du anzeigen möchtest

  • Ersetze unique-widget-id durch die eindeutige Widget-ID innerhalb der Funktion MountBsportWidget und im Code-Snippet

  • Das bsport-Div sollte so ausgeblendet werden: <div id="bsport-widget-id" style="display:none"></div>


Zahlungs-Kombination (Packs)

Füge diesen Code nach dem Widget-Code und direkt vor dem </script>-Tag ein:

document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //z. B. pass-3213
button.addEventListener("click", function () {
var eventType = "bsport:pass:add-to-cart:payment-combo";
var eventData = { payment_combo_id: "payment_combo_id", uniqueWidgetId: "unique-widget-id" }; //
window.parent.postMessage({ type: eventType, data: eventData }, "*");
});
});

🚨 Wichtig

  • Ersetze button-id durch die Button-ID, die du erstellt hast

  • Ersetze payment_combo_id durch die Zahlungs-Kombination, die du anzeigen möchtest

  • Ersetze unique-widget-id durch die eindeutige Widget-ID innerhalb der Funktion MountBsportWidget und im Code-Snippet

  • Das bsport-Div sollte so ausgeblendet werden: <div id="bsport-widget-id" style="display:none"></div>


Abonnements

Füge diesen Code nach dem Widget-Code und direkt vor dem </script>-Tag ein:

document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //z. B. contract-3213
button.addEventListener("click", function () {
var eventType = "bsport:subscription:add-to-cart:contract";
var eventData = { contract_id: "contract_id", uniqueWidgetId: "unique-widget-id" };
window.parent.postMessage({ type: eventType, data: eventData }, "*");
});
});

🚨 Wichtig

  • Ersetze button-id durch die Button-ID, die du erstellt hast

  • Ersetze unique-widget-id durch die eindeutige Widget-ID innerhalb der Funktion MountBsportWidget und im Code-Snippet

  • Das bsport-Div sollte so ausgeblendet werden: <div id="bsport-widget-id" style="display:none"></div>

⚠️ Wenn der Button geklickt wird, bevor das Widget vollständig geladen ist, öffnet sich das Pop-up und schließt sich sofort wieder.


Schritt 3. Bsport-Widget ausblenden

Aktualisiere das Widget-Div:

 <div id="bsport-widget-998312"></div>

Und füge display=”none” hinzu, um das bsport-Widget auszublenden:

 <div id="bsport-widget-998312" display="none"></div>

Wo du die Pass-/Abo-/Termin-ID findest:

  • Privater Pass:

    Gehe zu Produkte > Termin-Pässe


    Wähle den privaten Pass aus > Du findest die private Pass-ID in der URL

    Beispiel:

    var eventData = { 	private_pass_id: "41706", 	uniqueWidgetId: "unique-widget-id" };
  • Zahlungs-Pack:

    Gehe zu Produkte > Pässe

    Wähle das Zahlungs-Pack aus > Du findest die Zahlungs-Pack-ID in der URL

    Beispiel:

    var eventData = { 	payment_pack_id: "677009", 	uniqueWidgetId: "unique-widget-id" };
  • Packs-Widget:

    Gehe zu Produkte > Packs

    Wähle das Pack aus > Du findest die Pack-ID in der URL


    Beispiel:

    var eventData = { 	payment_combo_id: "9716", 	uniqueWidgetId: "unique-widget-id" };
  • Abo-Widget:


    Gehe zu Produkte > Abonnements

    Wähle das Abonnement aus > Du findest die Abo-ID in der URL

    Beispiel:

    var eventData = { 	contract_id: "40003", 	uniqueWidgetId: "unique-widget-id" };
Hat dies deine Frage beantwortet?