Eventos y acciones #
Finder permite interactuar con su comportamiento mediante eventos y acciones disponibles a través de JavaScript. Esto permite escuchar lo que ocurre en el buscador o incluso sobrescribir algunos comportamientos por defecto para adaptarlos a la lógica de tu tienda.
El siguiente ejemplo muestra cómo registrar eventos y modificar determinadas acciones del buscador:
(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())
}
})();
En este ejemplo se inicializa un bloque de código que se ejecuta cuando Finder está disponible. Si la librería ya está cargada se ejecuta directamente; en caso contrario, se espera al evento sellboostfinder:event:loaded.
Dentro de la inicialización se muestran varios ejemplos:
- Evento key-press: permite escuchar cuándo un usuario pulsa una tecla en el campo de búsqueda. El evento proporciona información como la tecla pulsada y la consulta actual.
- Acción search:failover: permite sobrescribir el comportamiento por defecto cuando una búsqueda falla o no devuelve resultados. Esto puede utilizarse, por ejemplo, para redirigir a otra página o aplicar una lógica personalizada.
- Acción cart:get-current: permite definir cómo obtener la cantidad de productos actualmente presentes en el carrito de la tienda.
- Acción cart:add-product: permite definir el comportamiento al añadir un producto al carrito desde Finder. La función debe devolver un valor booleano o una promesa que resuelva a un booleano indicando si la acción se ha realizado correctamente.
Variables de configuración #
Finder también permite modificar ciertos comportamientos mediante variables JavaScript globales que pueden definirse antes de que se cargue el buscador.
- sbFinderDisabledStats: permite forzar la activación o desactivación del sistema de estadísticas.
- sbExcludedBrands: permite excluir determinadas marcas de los resultados de búsqueda.
Ejemplo de uso:
var sbFinderDisabledStats = false;
var sbExcludedBrands = [];
sbExcludedBrands.push("PENHALIGON'S");
sbExcludedBrands.push("ERBORIAN");
En este ejemplo se define un array con las marcas que no deben aparecer en los resultados del buscador.
Javascript personalizado #
Finder permite cargar JavaScript personalizado directamente desde el panel de configuración. Esta opción se encuentra en el apartado de configuración avanzada del módulo de Finder.
Desde esta sección es posible añadir scripts propios para extender o modificar el comportamiento del buscador sin necesidad de modificar el código del tema de la tienda.
