- Filter engines (motori di filtri)
- Ambito di ricerca (search mode)
- Criteri di filtro e metodi di visualizzazione
- Visibilità e priorità
- Front office (desktop e mobile)
- Il modulo sostituisce ps_facetedsearch?
- Devo disattivare ps_facetedsearch?
- Genera pagine a faccette indicizzabili SEO?
- È compatibile con un tema custom?
- Può gestire grandi cataloghi?
- I filtri non compaiono
- Tutti i contatori sono a 0
- La lista prodotti non si aggiorna dopo il filtro
- Timeout durante indicizzazione
Advanced Search Pro
Panoramica
Advanced Search Pro è un modulo moderno di navigazione a faccette (filtri avanzati) pensato come sostituto completo del modulo nativo ps_facetedsearch. L’obiettivo è semplice: aiutare i clienti a trovare più velocemente i prodotti giusti, senza ricaricare l’intera pagina, con un’esperienza fluida sia su desktop che su mobile.
A differenza di soluzioni legacy, Advanced Search Pro si basa su un’architettura orientata alle prestazioni: back office con controller Symfony (compatibili con PrestaShop 8 e 9), front office reattivo con Alpine.js e un flusso JSON tipo API (il front invia i criteri, il server restituisce risultati + contatori). Per mantenere tempi di risposta rapidi anche con cataloghi grandi, il modulo integra indicizzazione dedicata e cache configurabile.
Punti di forza:
- Filtraggio istantaneo (AJAX) con contatori in tempo reale
- Motori di filtri multipli (Filter Engines) per categoria/pagina
- UX mobile ottimizzata (drawer + pulsante flottante)
- Indicizzazione + cache per prestazioni elevate
- Nessun override del core PrestaShop
Perché questo modulo?
Il modulo nativo ps_facetedsearch può diventare limitante: UI datata, comportamento con ricarichi, configurazione rigida e prestazioni che peggiorano quando il catalogo cresce. Advanced Search Pro risolve questi punti con un’esperienza più moderna e una gestione più flessibile.
| Limiti del modulo nativo | Vantaggi di Advanced Search Pro |
|---|---|
| UI meno reattiva e datata | Interazioni fluide con Alpine.js |
| Ricarico pagina durante il filtraggio | Richieste AJAX + risposte JSON |
| Un solo blocco filtri globale | Engine multipli per contesto |
| Personalizzazione limitata | Metodi di visualizzazione (slider, dropdown, colori, immagini…) |
| Mobile poco ottimizzato | Drawer mobile + UX dedicata |
| Prestazioni fragili su grandi cataloghi | Indicizzazione dedicata + cache TTL |
Funzionalità
Filter engines (motori di filtri)
Un Filter Engine è un blocco filtri indipendente con la propria configurazione (criteri, visibilità, posizione, priorità). Puoi crearne quanti vuoi per adattare i filtri ai diversi reparti del catalogo.
Caratteristiche principali:
- Creazione di engine multipli indipendenti
- Posizionamento tramite hook (colonna sinistra/destra, top pagina, full width, homepage…)
- Attivazione/disattivazione per engine, duplicazione con un clic
- Metodo di invio: istantaneo (AJAX) o pulsante Applica
- Opzioni: includere sottocategorie, mostrare solo prodotti disponibili
Ambito di ricerca (search mode)
Ogni engine può lavorare su un ambito diverso:
- Contesto corrente: ricerca nella categoria visualizzata (caso più comune)
- Categoria fissa: ricerca sempre in una categoria selezionata (utile in homepage)
- Catalogo intero: ambito globale (utile per un engine globale)
Questo permette di mostrare filtri pertinenti per pagina, evitando criteri inutili.
Criteri di filtro e metodi di visualizzazione
Il modulo gestisce i principali criteri di PrestaShop:
- Prezzo (slider a doppio cursore + campi min/max)
- Attributi (taglia, colore, materiale…)
- Caratteristiche (features)
- Categorie (albero, thumbnail/immagini)
- Produttori / Brand
Ogni gruppo può essere mostrato con vari metodi:
- Checkbox, slider (range), dropdown
- Color swatches (campioni colore)
- Immagini (es. categorie/sottocategorie)
- Link / tag
I contatori si aggiornano dopo ogni interazione, riducendo i casi “0 prodotti” e migliorando la navigazione.
Visibilità e priorità
La visualizzazione degli engine è molto controllabile:
- Visualizzazione ovunque (default) o solo su pagine specifiche
- Restrizioni possibili: categorie (con sottocategorie), produttori, fornitori, pagine CMS, pagine speciali (promozioni, novità, best-seller, risultati ricerca, homepage)
- Sistema di priorità: nella stessa posizione si mostra un solo engine (vince il valore di priorità più basso)
Consente un setup “fallback globale + engine specializzati”.
Front office (desktop e mobile)
UX orientata alla conversione:
- Filtri attivi come pill cliccabili (rimozione rapida)
- Azione Clear all per azzerare tutto
- Gruppi richiudibili (accordion)
- Contatori in tempo reale
Mobile:
- Drawer (pannello laterale) attivato da un pulsante flottante “Filters”
- Breakpoint configurabile (768px di default)
- Chiusura intuitiva (× o tap fuori dal drawer)
- Scroll gestito (niente scroll dello sfondo dietro)
Requisiti
| Componente | Versione minima |
|---|---|
| PrestaShop | 8.0.0 |
| PHP | 8.1 |
| MySQL | 5.7 / MariaDB 10.3 |
⚠️ Importante: è necessario disattivare
ps_facetedsearch. I due moduli non possono coesistere perché usano gli stessi hook.
Installazione
Metodo 1 — Back office (consigliato)
- Vai su Moduli > Gestione moduli
- Clicca su Carica un modulo
- Seleziona
wepresta_advancedsearch.zip - Attendi la fine dell’installazione
- Clicca su Configura
Metodo 2 — FTP
- Estrai
wepresta_advancedsearch.zip - Carica
wepresta_advancedsearch/in/modules/ - Nel back office: Moduli > Gestione moduli
- Cerca “Advanced Search Pro”
- Clicca Installa poi Configura
Cosa fa l’installazione
- Crea tabelle di indicizzazione (attributi, caratteristiche, categorie, prezzi, produttori)
- Crea tabelle di configurazione (engine, criteri, visibilità)
- Registra hook front-office e back-office
- Aggiunge una voce menu Advanced Search Pro
- Esegue l’indicizzazione iniziale del catalogo
- Rileva
ps_facetedsearche propone la disattivazione
L’indicizzazione iniziale può richiedere da pochi secondi a qualche minuto, in base al catalogo.
Avvio rapido
Per attivare il primo blocco filtri in meno di 5 minuti:
- Installa il modulo e disattiva
ps_facetedsearch - Apri Advanced Search Pro dal menu
- Clicca Add new engine
- Imposta un nome interno (es. “Filtri principali”)
- Scegli un hook (es. Left Column) e mantieni Current page context
- Salva, poi aggiungi i criteri (Prezzo, Taglia, Colore, Brand…)
- In Tools, esegui Full reindexation
- Visita una pagina categoria: i filtri devono apparire e funzionare
Configurazione
Impostazioni di un engine
Le opzioni più importanti:
- Internal name: nome interno (back office)
- Public name: titolo in front (opzionale, multilingua)
- Display hook: posizione (sinistra/destra/top/full width/homepage…)
- Submission method: istantaneo (AJAX) o pulsante
- Search mode: contesto / categoria fissa / catalogo intero
- Opzioni: includi sottocategorie, solo disponibili, attivo
Gestione criteri
I criteri si configurano per engine:
- Aggiungi/rimuovi gruppi (prezzo, attributi, caratteristiche, categorie, brand…)
- Seleziona il metodo di visualizzazione (checkbox, slider, dropdown, swatches, immagini…)
- Ordina i gruppi (ordine back office = ordine in front)
- Reindicizza dopo aver creato nuovi attributi/caratteristiche in PrestaShop
Visibilità e priorità
Per evitare più blocchi sulla stessa pagina:
- Usa un engine globale di fallback (priorità 10+)
- Crea engine specializzati (priorità 1–5) per categorie
- Verifica che l’hook sia presente nel tema (alcuni temi non mostrano colonne)
Impostazioni globali
Impostazioni comuni a tutti gli engine:
- Cache: attivazione + TTL
- Performance: debounce + batch size indicizzazione
- Integrazione: selettore CSS della lista prodotti (fondamentale per l’AJAX)
- Debug: log dettagliati (da evitare in produzione)
Strumenti e indicizzazione
Il modulo mantiene indici dedicati per accelerare il filtraggio:
- ATTRIBUTES, FEATURES, CATEGORIES, PRICES, MANUFACTURERS
È consigliata una reindicizzazione completa:
- Dopo l’installazione (spesso automatica)
- Dopo import massivi
- Dopo cambi strutturali (nuovi attributi, nuove categorie)
- Se risultati/contatori sembrano incoerenti
Per cataloghi molto grandi (10.000+ prodotti) è preferibile pianificare l’indicizzazione via CRON per evitare timeout.
Compatibilità
PrestaShop
- ✅ PrestaShop 8.x
- ✅ PrestaShop 9.x
PHP
- ✅ PHP 8.1 fino a 8.4
Database
- ✅ MySQL 5.7+
- ✅ MariaDB 10.3+
Temi
- ✅ Temi PrestaShop (Classic, Hummingbird)
- ✅ Temi custom (verificare il selettore CSS del listing)
FAQ
Il modulo sostituisce ps_facetedsearch?
Sì. È progettato come sostituto completo con UX moderna, engine multipli e filtraggio istantaneo.
Devo disattivare ps_facetedsearch?
Sì, obbligatorio. Non possono funzionare insieme (stessi hook).
Genera pagine a faccette indicizzabili SEO?
No, non in questa versione. Le pagine SEO per faccette sono previste in una versione futura.
È compatibile con un tema custom?
Nella maggior parte dei casi sì. Il punto critico è il Product list CSS selector, che deve puntare al contenitore della lista prodotti per permettere l’aggiornamento AJAX.
Può gestire grandi cataloghi?
Sì, grazie a indicizzazione e cache. Regola TTL, batch size e debounce in base al server e pianifica l’indicizzazione se necessario.
Risoluzione problemi
I filtri non compaiono
- Verifica che l’engine sia attivo
- Verifica che l’hook esista nel tema
- Controlla la visibilità (restrizioni pagina/categoria)
- Controlla la priorità (un altro engine può prevalere)
- Verifica che
ps_facetedsearchsia disattivato - Svuota la cache di PrestaShop
Tutti i contatori sono a 0
- Esegui una reindicizzazione completa
- Verifica che i prodotti abbiano attributi/caratteristiche
- Controlla l’ambito (categoria corrente con prodotti)
La lista prodotti non si aggiorna dopo il filtro
- Verifica il Product list CSS selector
- Controlla la console del browser (F12) per errori JS
- Attiva temporaneamente debug e controlla i log PrestaShop
Timeout durante indicizzazione
- Riduci il batch size
- Aumenta
max_execution_time/memory_limitse possibile - Usa indicizzazione via CRON per cataloghi grandi
Changelog
Versione 1.0.0 — Marzo 2026
- Engine multipli, visibilità per pagina, sistema di priorità
- 3 modalità di ricerca (contesto / categoria fissa / catalogo intero)
- Criteri: prezzo, attributi, caratteristiche, categorie, produttori
- Filtraggio AJAX istantaneo, pill filtri attivi, clear all
- Drawer mobile + breakpoint configurabile
- Indicizzazione dedicata + cache TTL
- Impostazioni: debounce, batch size, selettore CSS, debug
- Controller Symfony, multistore, multilingua, nessun override
Licenza
Distribuito con licenza Academic Free License (AFL 3.0).
Copyright © WePresta. Tutti i diritti riservati.