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].
A horgok paraméterei
Szekció neve “A horgok paraméterei”| 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.
A horgok listája
Szekció neve “A horgok listája”| 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) }}A jegylista testreszabása
Szekció neve “A jegylista testreszabása”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) }}Egyéni ellenőrzés a fizetés előtt
Szekció neve “Egyéni ellenőrzés a fizetés előtt”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 }) }}Logika a foglalás létrehozása előtt
Szekció neve “Logika a foglalás létrehozása előtt”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: