Tutto quello che vorresti sapere prima di installare.
Uno sguardo dettagliato su come funziona dffreegift — Regalo offerto al superamento di una soglia carrello per PrestaShop 8 e 9, perché l'abbiamo progettato così, e il ragionamento dietro le funzionalità qui sopra.
La leva più misurabile sul carrello medio
Su un negozio e-commerce, due variabili fanno il fatturato: il numero di ordini e il carrello medio. Il costo di acquisizione di un nuovo ordine è diventato molto elevato (pubblicità, SEO, retargeting). Al contrario, far salire il carrello di un visitatore già in procinto di acquistare costa quasi nulla — è un upsell su un traffico già pagato. Il regalo alla soglia carrello è uno dei meccanismi più efficaci per questo: il visitatore aggiunge volontariamente qualche euro per non perdere l'offerta. A condizione che il meccanismo sia visibile, calcolato, e istantaneo. È esattamente ciò che fa dffreegift.
Il blocco di progresso: il meccanismo psicologico al centimetro
Sulla pagina carrello, il modulo mostra in permanenza un banner dedicato con l'immagine del prodotto offerto, il suo nome, e un messaggio che calcola la distanza rimanente al centesimo: «Aggiungi 12,40€ per ricevere il tuo regalo». Una barra di progresso colorata passa progressivamente dal grigio-arancio al verde man mano che la soglia si avvicina. Al superamento, il banner passa al verde con il messaggio «Regalo aggiunto al tuo carrello!» e un'animazione pulse conferma visivamente il successo. Questa drammaturgia in tempo reale è ciò che trasforma una semplice promozione condizionale in leva comportamentale: il visitatore vede l'indicatore riempirsi, calcola mentalmente lo sforzo da compiere, e cede.
Sotto il cofano: il meccanismo nativo PrestaShop, pulito
La grande maggioranza dei moduli regalo del mercato manipola direttamente i prezzi prodotti tramite l'hook actionProductPriceCalculation, crea righe carrello con prezzo forzato a zero, o inietta SpecificPrice temporanee. Questo approccio rompe in seguito la compatibilità con altri moduli di promozione, genera incoerenze negli export contabili, e complica il debug. dffreegift fa il contrario: all'installazione, crea una CartRule classica (visibile in Catalogo → Sconti → Regole carrello) con un codice DFFREEGIFT_xxxxxxxx e un gift_product inizializzato a zero. Ad ogni salvataggio del carrello, il modulo sincronizza gift_product e gift_product_attribute con la tua configurazione, poi attacca o stacca la regola al carrello tramite i metodi nativi Cart::addCartRule e Cart::removeCartRule. PrestaShop si occupa poi di tutto: inserimento della riga regalo (gift = 1, price = 0), visualizzazione carrello, totali, conversione in ordine, snapshot storico. Nessuna chiamata diretta sui prezzi, nessuna iniezione invasiva — da cui la compatibilità nativa con i tuoi altri meccanismi promozionali.
Tre trigger di sincronizzazione, più un'auto-riparazione
La logica principale viene eseguita sull'hook actionCartSave, che viene chiamato da PrestaShop ad ogni salvataggio del carrello — cioè ad ogni aggiunta, modifica o rimozione di prodotto, ma anche al login cliente (fusione di carrello) e durante certe azioni back-office. Un flag statico anti-ricorsione impedisce che la modifica del carrello da parte del modulo non re-attivi l'hook in loop. In parallelo, l'hook actionObjectCartRuleDeleteBefore sorveglia l'eliminazione manuale della nostra CartRule dal back-office: se un admin elimina la regola per errore, la configurazione viene azzerata e la prossima sincronizzazione ricreerà una regola pulita. Infine, ad ogni salvataggio di configurazione dalla schermata Configura, il modulo ri-sincronizza gift_product e gift_product_attribute sulla regola esistente — non devi mai toccare manualmente la regola nella zona Sconti.
Configurazione: soglia, tasse, spedizione, stock, gruppi
La schermata Moduli → DataFirefly Free Gift → Configura riunisce tutto. Uno switch master per attivare o disattivare l'insieme. L'ID del prodotto regalo (inserito a mano, con il nome visualizzato come aiuto dopo il salvataggio). Una lista a discesa delle varianti del prodotto (l'auto-riempimento si fa dopo aver prima salvato l'ID prodotto, il modulo rilegge poi le combinazioni disponibili). La soglia di attivazione in importo, con due switch associati: Calcolo TTC (altrimenti HT) e Includi spese di spedizione (altrimenti solo prodotti). Uno switch Verifica stock del regalo, che sospende l'auto-aggiunta se il prodotto è esaurito (rispetta la strategia out of stock configurata globalmente in PrestaShop). Una griglia di caselle per limitare l'offerta a determinati gruppi clienti — se nessuna è spuntata, tutti i clienti sono idonei, visitatori non identificati inclusi. Due switch di visualizzazione indipendenti per il messaggio di progresso e la barra di progresso.
Casi d'uso tipici
Negozio di cosmetici con margine confortevole: offrire un campione di profumo oltre i 40€ TTC per spingere i carrelli da 28-35€ verso 40€. Moda e accessori: pochette in regalo da 80€ TTC, calcolato escludendo le spese di spedizione, per fidelizzare i primi acquisti. B2B attrezzature: portachiavi o chiavetta USB oltre i 200€ HT, ristretto al gruppo Professionisti. Marketplace alimentare: prodotto degustazione gratuito da 50€ TTC spedizione inclusa, per assorbire il costo della spedizione gratuita e portarlo alla redditività. In tutti questi casi, il meccanismo è identico: una soglia chiara, un regalo desiderabile, una progressione visibile, un'aggiunta automatica. dffreegift gestisce tutto questo senza intervento manuale.
Compatibilità PrestaShop 8 e 9 — testata, non promessa
Il modulo usa solo le API stabili cross-version: Module, Hook, Configuration, CartRule, Cart, HelperForm, Smarty. Nessun uso dei tab prodotto Symfony di PrestaShop 9 (che hanno introdotto incompatibilità su molti moduli di terze parti), nessuna iniezione nel checkout one-page, nessuna dipendenza da classi deprecate in PS 9. La schermata di amministrazione usa HelperForm — componente stabile e identico in PS 8 e PS 9. Lato frontend, l'hook displayShoppingCart è presente e funzionante su entrambe le versioni, e l'helper getCurrentLocale (usato per la formattazione dei prezzi) è disponibile da PrestaShop 1.7.6. Installi il modulo in PS 8 oggi, migri a PS 9 quando vuoi: nessun intervento da parte tua sul modulo.
Multinegozio, multilingua, codice leggibile
Il modulo funziona con la configurazione multinegozio di PrestaShop sul contesto negozio predefinito. I messaggi frontend sono traducibili tramite il meccanismo PrestaShop standard (Modules.Dffreegift.Shop per il frontend, Modules.Dffreegift.Admin per il back-office), con FR, EN, ES e DE precaricati. Il codice sorgente viene fornito in chiaro (PHP non offuscato, conforme alle convenzioni PrestaShop standard), con commenti in francese in cima ad ogni metodo importante. La logica principale sta in un file dffreegift.php di meno di 700 righe — leggibile e auditabile in meno di un'ora. Puoi modificarlo, estenderlo tramite i tuoi propri hook, o forkarlo per un'esigenza di business specifica.
Ancora non ci sono recensioni.