Eventi e Azioni #
Finder consente di interagire con il suo comportamento tramite eventi e azioni disponibili tramite JavaScript. Questo permette di ascoltare ciò che accade nel motore di ricerca o addirittura di sovrascrivere alcuni comportamenti predefiniti per adattarli alla logica del tuo negozio.
L’esempio seguente mostra come registrare eventi e modificare determinate azioni di Finder:
(function() {
const initializerFinderActionsAndEvents = () => {
window.sbFinder.addEventListener('sellboostfinder:event:search:key-press', ({
key,
searchQuery
}) => {})
window.sbFinder.addActionHandler('sellboostfinder:action:search:failover', (searchQuery, redirectUrl) => {})
window.sbFinder.addActionHandler('sellboostfinder:action:cart:get-current', () => {
let quantity = 2
return new Promise(resolve => resolve(quantity))
})
window.sbFinder.addActionHandler('sellboostfinder:action:cart:add-product', (productId) => {
return new Promise(resolve => resolve(true))
})
}
if (window.sbFinder?.addActionHandler) {
initializerFinderActionsAndEvents()
} else {
window.addEventListener('sellboostfinder:event:loaded', () => initializerFinderActionsAndEvents())
}
})();
In questo esempio viene inizializzato un blocco di codice che viene eseguito quando Finder è disponibile. Se la libreria è già caricata, viene eseguito immediatamente; altrimenti, attende l’evento sellboostfinder:event:loaded.
All’interno dell’inizializzazione sono mostrati diversi esempi:
- Evento key-press: permette di ascoltare quando un utente preme un tasto nel campo di ricerca. L’evento fornisce informazioni come il tasto premuto e la query corrente.
- Azione search:failover: permette di sovrascrivere il comportamento predefinito quando una ricerca fallisce o non restituisce risultati. Questo può essere utilizzato, ad esempio, per reindirizzare a un’altra pagina o applicare una logica personalizzata.
- Azione cart:get-current: permette di definire come ottenere la quantità di prodotti attualmente presenti nel carrello del negozio.
- Azione cart:add-product: permette di definire il comportamento quando si aggiunge un prodotto al carrello da Finder. La funzione deve restituire un valore booleano o una promessa che risolve in un booleano indicando se l’azione è stata eseguita correttamente.
Variabili di Configurazione #
Finder consente anche di modificare determinati comportamenti tramite variabili JavaScript globali che possono essere definite prima del caricamento del motore di ricerca.
- sbFinderDisabledStats: permette di forzare l’attivazione o la disattivazione del sistema di statistiche.
- sbExcludedBrands: permette di escludere determinati marchi dai risultati di ricerca.
Esempio di utilizzo:
var sbFinderDisabledStats = false;
var sbExcludedBrands = [];
sbExcludedBrands.push("PENHALIGON'S");
sbExcludedBrands.push("ERBORIAN");
In questo esempio viene definito un array con i marchi che non devono apparire nei risultati di ricerca.
JavaScript Personalizzato #
Finder consente di caricare JavaScript personalizzato direttamente dal pannello di configurazione. Questa opzione si trova nella sezione configurazione avanzata del modulo Finder.
Da questa sezione è possibile aggiungere script propri per estendere o modificare il comportamento del motore di ricerca senza dover modificare il codice del tema del negozio.
