Ja! Du kan bruke ditt eget galleriet ved å spesifisere «data-callback» når du inkluderer Sirvoy Widget. Det ligner veldig på måten du definerer et tilpasset skript for konverteringssporing som du kan se i denne artikkelen. Følgende hendelser er tilgjengelige:
gallery_init
– kjøres når søkeskjemaet vises. Hvis du vil bruke ditt eget galleri, kan du ganske enkelt returnerefalse
her for å unngå å laste vårt standardgalleri.gallery_open
– kjøres når gjestene klikker på et bilde. I likhet medgallery_init
bør du returnerefalse
når du får denne hendelsen for å angi at du ikke vil kjøre standardimplementeringen. Da kan du implementere kundelogikken din her. Ytterligere data som er gitt i objektet:- gallery_id – ID begivenheten utløses for
- gallery – Samling med bildeobjekter som ser slik ut:
[{ title: 'My image', type: 'image', contentType: 'image/...', thumb: { url: 'https://...', size: 12345, height: 123, width: 123, }, image: { url: 'https://...', size: 12345, height: 123, width: 123, }, }, ...]
Nedenfor er et eksempel på hvordan du bruker Fancybox istedenfor standardgalleriet. Du kan imidlertid implementere hva du vil her, for å integrere galleriet med hvordan du viser andre bilder på nettsiden din og dermed få utseendet og følelsen til å harmonere.
Merk: Sørg for å erstatte “data-form-id” med din egen bookingmotor-ID. Sørg også for å sjekke vilkårene og lisensen for Fancybox før du bruker den, slik at den fungerer i ditt tilfelle: https://fancyapps.com/fancybox/3/
<!-- load dependencies -->
<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script><script src="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.js"></script>
<!-- custom event handler implementation -->
<script type="application/javascript">
function customGalleryEventHandler(data) {
// this triggers on a page where the gallery can be displayed
if (data.event === "gallery_init") {
// return false to prevent loading default gallery assets
return false;
}
// this will trigger when a user clicks on the thumbnail to display the gallery
if (data.event === "gallery_open") {
let objects = [];
data.gallery.forEach((object) => {
objects.push({ src: object.image.url, opts: { caption: object.title, thumb: object.thumb.url } });
});
$.fancybox.open(objects, { loop: false });
// return false to prevent loading displaying default gallery
return false;
}
}
</script>
<!-- here is the booking engine form, "customGalleryEventHandler" is the custom event handler you implemented above -->
<script data-callback="customGalleryEventHandler" async async data-form-id="YOUR-FORM-ID-HERE" src="https://secured.sirvoy.com/widget/sirvoy.js"></script>