Tovább a tartalomhoz

JavaScript-horgok az eseménylista foglalási űrlapján

Az eseménylista foglalási űrlap frontend-eseményeire reagáló JavaScript-horgok: betöltés, eseményválasztás, jegylista rendezése, egyéni ellenőrzés, foglalás előtt és után.

Az Amelia JavaScript-horgaival az esemény-foglalási folyamat lépéseire is reagálhatsz a frontenden: követheted a látogatók műveleteit, ellenőrizheted a megadott adatokat, vagy egyedi logikát futtathatsz, az Amelia magkódjának módosítása nélkül. A szerkezet és a közös paraméterek megegyeznek a foglalási űrlapok horgaival.

A horgok használatához programozási ismeret kell, a támogatás csak általános útmutatásra terjed ki.

Ezek a horgok csak az eseménylista foglalási űrlapján futnak: [ameliaeventslistbooking].

Paraméter Leírás
success Visszahívó függvény a folyamat folytatásához. Csak a beforeBooking horognál használatos.
error Visszahívó függvény a folyamat leállításához. Csak a beforeBooking horognál használatos.
data Az aktuális lépéshez tartozó esemény- és foglalási adatokat tartalmazó objektum.

A horgokat a window.ameliaActions objektumban kell megadnod, a horog nevével egyező kulccsal.

Horog Mikor fut le
ViewContent Miután az esemény-foglalási űrlap betöltődött.
SelectEvent Amikor az űrlapon kiválasztanak vagy módosítanak egy eseményt.
EventTickets Amikor az esemény jegyei megjelennek az űrlapon.
InitInfoStep Amikor a vásárlói adatok lépése betöltődik.
customValidation A vásárlói adatok lépésének ellenőrzésekor, a fizetési lépés betöltése előtt.
InitiateCheckout Amikor a fizetési lépés betöltődik.
beforeBooking A megerősítő gomb megnyomásakor, a foglalás véglegesítése előtt.
Schedule Helyszíni fizetésű foglalás befejezése után, a köszönő lépés betöltése előtt.
Purchase Online fizetésű foglalás befejezése után, a köszönő lépés betöltése előtt.

Az egyszerű horgok (ViewContent, SelectEvent, InitInfoStep, InitiateCheckout, Schedule, Purchase) ugyanígy néznek ki, csak a névben különböznek. Példa a ViewContent horogra:

window.ameliaActions = {
ViewContent: function (success = null, error = null, data) {
console.log('ViewContent HOOK')
console.log(data)
}
}

Az EventTickets horog akkor fut le, amikor az esemény jegyei megjelennek az űrlapon. Használhatod a jegyek átrendezésére, a lista módosítására vagy egyedi logikára a megjelenítés előtt. A jegyek az data.event.customTickets tömbben vannak, a módosított listát a data.setTickets() függvénnyel add vissza.

Az alábbi példa név szerint növekvő sorrendbe rendezi a jegyeket. Más rendezéshez cseréld le a rendezőfüggvényt:

Rendezés Rendezőfüggvény
Név szerint növekvő a.name.localeCompare(b.name, undefined, {sensitivity: 'base'})
Név szerint csökkenő b.name.localeCompare(a.name, undefined, {sensitivity: 'base'})
Azonosító szerint növekvő a.id - b.id
Azonosító szerint csökkenő b.id - a.id
Ár szerint növekvő a.price - b.price
Ár szerint csökkenő b.price - a.price
window.ameliaActions = {
EventTickets: function (success = null, error = null, data) {
let tickets = data.event.customTickets
tickets = tickets.sort((a, b) =>
a.name.localeCompare(b.name, undefined, { sensitivity: 'base' })
)
data.setTickets(tickets)
}
}

A customValidation horog a vásárlói adatok lépésének ellenőrzésekor fut le. A data.rules objektumhoz saját szabályt adhatsz egy mezőre: az e-mail-mezőhöz a data.rules.email, egy egyéni mezőhöz a data.rules['cf' + azonosito] tömbbe.

window.ameliaActions = {
customValidation: function (success = null, error = null, data) {
const customValidator = (rule, value, callback) => {
if (value.includes('SOME_REGEX')) {
callback(new Error())
} else {
callback()
}
}
// az e-mail-mező ellenőrzése
data.rules.email.push({ message: 'Egyéni hibaüzenet', validator: customValidator })
// egy egyéni mező ellenőrzése (itt a 2-es azonosítójú mező)
var customFieldId = 2
data.rules['cf' + customFieldId].push({ message: 'Egyéni hibaüzenet', validator: customValidator })
}
}

A beforeBooking horog a megerősítő gomb megnyomásakor fut le, még a foglalás véglegesítése előtt. A foglalás csak akkor folytatódik, ha meghívod a success() függvényt; ha le akarod állítani, hívd az error() függvényt.

Ez a horog Mollie és WooCommerce fizetésnél nem érhető el.

window.ameliaActions = {
beforeBooking: function (success = null, error = null, data) {
console.log('Az esemény foglalásának létrehozása előtt')
console.log(data)
// a success() meghívásával engedélyezed a foglalás befejezését
success()
}
}

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások