Vai al contenuto principale

Come aprire un widget con un pulsante

Questa guida ti spiega come aprire un widget con un pulsante

⚠️ Disponibile solo per:

  • Pass privati

  • Pack

  • Appuntamenti

  • Abbonamenti

Passaggio 1. Crea un pulsante personalizzato

Crea il tuo pulsante personalizzato e assegnagli un id specifico. Esempio:

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

Passaggio 2. Collega il pulsante al widget

Vai su Settings > Widgets e incolla il codice del widget sul tuo sito web.

Tipo di widget:

Ogni tipo di widget si collega in modo diverso:

Widget pulsante di accesso:

Aggiungi questo codice dopo il codice del widget e subito prima del tag </script>:

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, '*')
});
});

🚨 Importante

  • Sostituisci button-id con l'id del pulsante che hai creato

  • Sostituisci unique-widget-id con l'id univoco del widget nella funzione MountBsportWidget e nel frammento di codice

  • Il div di bsport deve essere nascosto in questo modo: <div id="bsport-widget-id" style="display:none"></div>

Dovrebbe apparire così:

 <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: {}
},
});
/* Qui il collegamento con il pulsante e la funzione attivata al clic */
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>

/* Il risultato dovrebbe essere così: è importante nascondere il div con lo stile inline, altrimenti verrà visualizzato un altro pulsante di accesso */
<div id="bsport-widget-id" style="display:none"></div>

Payment Pack (pass)

Aggiungi questo codice dopo il codice del widget e subito prima del tag </script>:

document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //ex. 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 }, "*");
});
});

🚨 Importante

  • Sostituisci button-id con l'id del pulsante che hai creato

  • Sostituisci payment_pack-id con l'id del payment pack

  • Sostituisci unique-widget-id con l'id univoco del widget nella funzione MountBsportWidget e nel frammento di codice

  • Il div di bsport deve essere nascosto in questo modo: <div id="bsport-widget-id" style="display:none"></div>


Pass privato (appuntamenti)

Aggiungi questo codice dopo il codice del widget e subito prima del tag </script>:

document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //ex. 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 }, "*");
});
});

🚨 Importante

  • Sostituisci button-id con l'id del pulsante che hai creato

  • Sostituisci private_pass_id con il pass privato che vuoi mostrare

  • Sostituisci unique-widget-id con l'id univoco del widget nella funzione MountBsportWidget e nel frammento di codice

  • Il div di bsport deve essere nascosto in questo modo: <div id="bsport-widget-id" style="display:none"></div>


Payment combo (pack)

Aggiungi questo codice dopo il codice del widget e subito prima del tag </script>:

document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //ex. 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 }, "*");
});
});

🚨 Importante

  • Sostituisci button-id con l'id del pulsante che hai creato

  • Sostituisci payment_combo_id con il payment combo che vuoi mostrare

  • Sostituisci unique-widget-id con l'id univoco del widget nella funzione MountBsportWidget e nel frammento di codice

  • Il div di bsport deve essere nascosto in questo modo: <div id="bsport-widget-id" style="display:none"></div>


Abbonamenti

Aggiungi questo codice dopo il codice del widget e subito prima del tag </script>:

document.addEventListener("DOMContentLoaded", function () {
var button = document.getElementById("button-id"); //ex. 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 }, "*");
});
});

🚨 Importante

  • Sostituisci button-id con l'id del pulsante che hai creato

  • Sostituisci unique-widget-id con l'id univoco del widget nella funzione MountBsportWidget e nel frammento di codice

  • Il div di bsport deve essere nascosto in questo modo: <div id="bsport-widget-id" style="display:none"></div>

⚠️ Se il pulsante viene cliccato prima che il widget sia completamente caricato, il pop-up si aprirà e si chiuderà immediatamente.


Passaggio 3. Nascondi il widget di bsport

Aggiorna il div del widget:

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

Aggiungi display="none" per nascondere il widget di bsport:

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

Dove trovare l'id del pass/abbonamento/appuntamento:

  • Pass privato:

    Vai su Products > Appointment passes


    Seleziona il pass privato > Trovi l'id del pass privato nell'URL

    Esempio:

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

    Vai su Products > Passes

    Seleziona il payment pack > Trovi l'id del payment pack nell'URL

    Esempio:

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

    Vai su Products > Packs

    Seleziona il pack > Trovi l'id del pack nell'URL


    Esempio:

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


    Vai su Products > Subscriptions

    Seleziona l'abbonamento > Trovi l'id dell'abbonamento nell'URL

    Esempio:

    var eventData = { 	contract_id: "40003", 	uniqueWidgetId: "unique-widget-id" };
Hai ricevuto la risposta alla tua domanda?