Offerte per quantità e badge promo: documentazione
Configurare le promozioni per quantità e i badge promo su PrestaShop 8 e 9: tipi di offerta, targeting, personalizzazione del badge e calcolo dello sconto.
Installazione
Il modulo si installa come qualsiasi altro modulo PrestaShop, dal back office o via FTP.
- Da Moduli e poi Gestore moduli, clicca su Carica un modulo e trascina il file
dfquantitydeal.zip. - Via FTP, estrai l’archivio nella cartella
/modules/del tuo negozio, poi installa DataFirefly – Offerte per quantità e badge promo dal gestore moduli. - Svuota la cache in Parametri avanzati e poi Prestazioni.
L’installazione crea otto tabelle con prefisso ps_df_quantity_deal, registra sette hook e aggiunge la scheda Offerte per quantità al menu Catalogo.
Non viene installato alcun override di classe o di controller. La disinstallazione elimina le tabelle, le chiavi di configurazione e la scheda.
Impostazioni generali
Il pulsante Configura nella pagina del modulo apre le impostazioni valide per tutte le offerte.
- Attiva il modulo: disattiva la visualizzazione dei badge e il calcolo degli sconti senza disinstallare.
- Badge nelle liste: mostra il badge sulle miniature delle pagine categoria, dei risultati di ricerca e dei blocchi prodotto.
- Badge nella scheda prodotto: interruttore separato, se preferisci tenere il badge solo nelle liste.
- Tabella delle offerte nella scheda prodotto: elenca le offerte applicabili al prodotto, sotto il pulsante di aggiunta al carrello.
- Dettaglio delle offerte nel carrello: aggiunge sotto il riepilogo del carrello l’importo apportato da ciascuna offerta.
- Calcolare gli sconti IVA inclusa: attivo, la regola carrello porta un importo comprensivo di imposte. Disattivo, l’importo è al netto e PrestaShop applica l’IVA secondo le tue regole.
- Etichetta dello sconto nel carrello: testo mostrato sulla riga di sconto del carrello e dell’ordine. Predefinito «Offerte per quantità».
- Dimensione del carattere del badge: in pixel, 13 di default.
Creare un’offerta
Apri Catalogo e poi Offerte per quantità, e clicca su Nuova offerta. Il modulo di inserimento è diviso in tre schede.
Scheda Offerta
- Nome dell’offerta: campo tradotto, usato nell’elenco del back office e nella tabella delle offerte della scheda prodotto.
- Tipo di offerta: le cinque meccaniche descritte più avanti. Il form nasconde i campi che non riguardano il tipo scelto.
- Quantità acquistata (X) e Quantità in omaggio (Y): per il tipo X acquistati Y omaggio, e solo X per il prezzo di pacchetto.
- Posizione dell’articolo scontato (N): 2 per «il 2° a -25 %», 3 per «il 3° a -50 %».
- Valore dello sconto: percentuale, importo di sconto o prezzo imposto secondo il tipo. L’etichetta del campo cambia da sola.
- Offerta ripetibile: attiva, l’offerta si applica tante volte quante la quantità permette. Disattiva, si applica una sola volta per carrello.
- Raggruppamento delle quantità: per prodotto, per combinazione, oppure mix and match.
- Priorità: i valori più bassi vengono applicati per primi.
- Attiva l’offerta: equivale all’interruttore nell’elenco.
Scheda Condizioni
- Ambito: intero catalogo, prodotti selezionati, categorie selezionate o marche selezionate. Il selettore corrispondente appare secondo la scelta.
- Prodotti interessati: digita almeno due caratteri per avviare la ricerca. Copre nome, riferimento e ID. Clicca su un risultato per aggiungerlo all’elenco.
- Categorie interessate: albero delle categorie con caselle. Un prodotto collegato a una delle categorie selezionate attiva l’offerta.
- Marche interessate: elenco dei produttori del negozio.
- Gruppi clienti: lascia tutto deselezionato per applicare l’offerta a tutti i gruppi, visitatori inclusi.
- Escludere i prodotti già in promozione: i prodotti con un prezzo specifico restano fuori dal calcolo.
- Data di inizio e Data di fine: lasciale vuote per un’offerta permanente. Una data senza orario viene completata con 00:00:00 per l’inizio e 23:59:59 per la fine.
- Negozi: visibile solo se la modalità multinegozio è attiva.
Scheda Badge e visualizzazione
- Testo del badge: campo tradotto. Lascialo vuoto per una generazione automatica dai valori dell’offerta.
- Colore di sfondo e Colore del testo: selettori di colore, rosso e bianco di default.
- Forma: quadrato, angoli arrotondati, pillola, nastro inclinato, pastiglia rotonda.
- Posizione sulla miniatura: in alto a sinistra, in alto a destra, in basso a sinistra, in basso a destra, oppure in linea sotto il prezzo.
- Mostra nelle liste, nella scheda prodotto, nella tabella delle offerte: tre interruttori per offerta, oltre alle impostazioni globali.
- Descrizione dell’offerta: testo ricco tradotto, mostrato sotto la frase esplicativa nella tabella delle offerte.
I cinque tipi di offerta
X acquistati, Y in omaggio
Il formato classico del 2+1, 3+1 o 4+2. Il motore divide le unità idonee del carrello in lotti da X più Y. Per ogni lotto completo, le Y unità meno care sono gratuite.
Esempio: offerta 4+2, sei articoli da 4,49 nel carrello. Un lotto completo, due unità in omaggio, sconto di 8,98. Con soli cinque articoli nessun lotto è completo e lo sconto è nullo.
L’ennesimo a -X %
Il motore divide le unità in lotti da N. In ogni lotto, l’unità in posizione N riceve la percentuale di sconto. Poiché le unità sono ordinate per prezzo decrescente, l’articolo scontato è il meno caro del lotto.
Esempio: offerta «il 2° a -25 %», quattro articoli da 20. Due lotti da due, due articoli scontati di 5, sconto totale di 10.
L’ennesimo con sconto fisso
Stessa divisione, ma lo sconto è un importo fisso. Viene limitato al prezzo dell’articolo: uno sconto di 30 su un articolo da 8 dà 8, non 30.
L’ennesimo a prezzo imposto
L’articolo in posizione N viene portato al prezzo che imposti. Lo sconto è la differenza. Per «il 2° a 1» su due articoli da 12, lo sconto è di 11.
Prezzo di pacchetto
Per ogni lotto di X unità, il totale viene portato al prezzo che annunci. Su un’offerta 3 per 10 con sei articoli da 5, il motore forma due lotti e applica 10 di sconto in totale.
Quale articolo viene regalato
Il motore ordina le unità idonee per prezzo decrescente, poi applica il vantaggio alle meno care di ogni lotto. È la regola usata dalla grande distribuzione e quella che il cliente si aspetta.
In un lotto 3+1 composto da articoli da 20, 15, 10 e 5, l’articolo in omaggio è quello da 5. Il cliente paga 45 invece di 50.
Raggruppamento delle quantità
- Per prodotto: tutte le combinazioni dello stesso riferimento contano insieme. Sei flaconi dello stesso bagnoschiuma attivano un’offerta 4+2 anche con tre profumazioni diverse.
- Per combinazione: ogni variante conta per sé. Servono sei unità della stessa profumazione per attivare la stessa offerta.
- Mix and match: tutte le unità dei prodotti collegati all’offerta confluiscono nello stesso conteggio. Utile per lanciare un 4+2 su un’intera gamma.
Priorità e cumulo
Le offerte vengono valutate in ordine di priorità, dal valore più basso al più alto. Ogni offerta consuma le unità che utilizza e la successiva lavora su ciò che resta. La stessa unità non viene mai scontata due volte.
Esempio: sette articoli nel carrello e un’offerta 4+2 con priorità 10. Il lotto consuma sei unità, la settima resta disponibile per un’offerta di priorità 20 sullo stesso prodotto.
Assegna una priorità bassa alle offerte più generose se vuoi che vengano applicate per prime. A parità di priorità, l’ordine segue l’ID dell’offerta.
Il badge
Variabili del testo
Il campo Testo del badge accetta cinque variabili, sostituite alla visualizzazione con i valori dell’offerta.
{x}: quantità acquistata{y}: quantità in omaggio{n}: posizione dell’articolo scontato{value}: valore dello sconto, senza zeri inutili{price}: valore dello sconto formattato come prezzo, nella valuta del cliente
Puoi anche scrivere il testo per esteso: «4+2 omaggio», «3+1 gratis», «il 2° a -25 %». Il campo è tradotto, quindi ogni lingua ha la propria formulazione.
Se il campo resta vuoto, il modulo genera un’etichetta breve dal tipo e dai valori: 4+2 per un’offerta X acquistati Y omaggio, -25% x2 per un ennesimo a percentuale.
Posizione e integrazione nella miniatura
Il badge viene generato nel blocco prezzo, tramite l’hook displayProductPriceBlock. Uno script front lo sposta poi nel contenitore della miniatura per mostrarlo sopra l’immagine. Il posizionamento viene ripetuto dopo gli aggiornamenti Ajax della ricerca a faccette, della paginazione e del quick view.
La modalità In linea (sotto il prezzo) disattiva questo spostamento e lascia il badge nel flusso, sotto il prezzo. Scegli questa modalità se il tuo tema usa una struttura di miniatura non standard.
Calcolo dello sconto nel carrello
A ogni modifica del carrello, il motore ricalcola il totale degli sconti e sincronizza una regola carrello privata. Il suo codice interno inizia con DFQD seguito dall’ID del carrello. Il cliente vede una sola riga di sconto e non inserisce alcun codice.
La regola viene aggiornata solo se l’importo è cambiato, il che evita di ricrearla a ogni caricamento di pagina. Se il totale torna a zero, la regola viene staccata dal carrello ed eliminata.
Alla conferma dell’ordine, la regola viene disattivata e la sua data di fine viene riportata al passato perché non possa essere riutilizzata. Resta collegata all’ordine, quindi visibile nelle tue esportazioni contabili e utilizzabile per una nota di credito.
L’importo dello sconto non può superare il totale prodotti del carrello. In quel caso PrestaShop lo limita automaticamente.
Adattare la visualizzazione al tuo tema
Tre template si possono sovrascrivere. Copiali da /modules/dfquantitydeal/views/templates/hook/ in /themes/tuo-tema/modules/dfquantitydeal/views/templates/hook/.
badge.tpl: il badge stessooffers.tpl: la tabella delle offerte della scheda prodottocart.tpl: il riepilogo sotto il carrello
Il CSS è isolato sotto il prefisso dfqd. Per una regolazione puntuale, punta alle classi dal foglio di stile del tuo tema invece di modificare views/css/front.css, che verrebbe sovrascritto all’aggiornamento.
Multinegozio e multilingua
Ogni offerta viene collegata ai negozi che selezioni nella scheda Condizioni. Un’offerta creata su un negozio non appare sugli altri finché non vi è collegata.
I campi Nome, Testo del badge e Descrizione sono tradotti nelle lingue installate. Il badge mostrato segue la lingua del cliente.
Risoluzione dei problemi
Il badge non compare
- Verifica che modulo e offerta siano attivi, e che la data odierna rientri nel periodo di validità.
- Controlla l’ambito: un prodotto deve essere collegato esplicitamente all’offerta, oppure appartenere a una categoria o a una marca selezionata.
- Controlla gli interruttori di visualizzazione, nelle impostazioni globali e nella scheda Badge dell’offerta.
- Se il gruppo clienti è limitato, prova con un account del gruppo giusto.
- Svuota la cache Smarty e la cache del tuo server.
Lo sconto non si applica nel carrello
La quantità deve raggiungere la soglia dell’offerta secondo la modalità di raggruppamento scelta. In modalità Per combinazione, sei unità distribuite su tre varianti non attivano un’offerta 4+2. Verifica inoltre che il prodotto non sia escluso dall’opzione sui prodotti già in promozione.
Due offerte si ostacolano
Questo comportamento è previsto: un’unità consumata dalla prima offerta esce dal calcolo della seconda. Se vuoi che un’offerta passi prima dell’altra, abbassa la sua priorità.
Il badge appare nel posto sbagliato
Alcuni temi personalizzati non usano la struttura di miniatura standard. Imposta la posizione su In linea (sotto il prezzo), oppure sovrascrivi badge.tpl per posizionare il badge dove preferisci.
Disinstallazione
La disinstallazione elimina le otto tabelle del modulo, le sue chiavi di configurazione e la scheda del menu Catalogo. Le regole carrello già collegate a ordini passati vengono conservate, per non alterare il tuo storico contabile.