Sconti Smart dinamici & programmati: configurazione e aiuto
Avvio rapido
- Carica e installa mprdynamicscheduleddiscounts, poi apri Sconti pianificati > Configurazione.
- Lascia Attiva modulo attivo e controlla Rispetta stock in Impostazioni generali.
- Apri Campagne e imposta Nome campagna, Tipo di sconto e Valore dello sconto per un prodotto di prova.
- Imposta Prodotti obiettivo, Data di inizio, Data di fine e Attivo; aggiungi "Recurring Windows" se Tipo campagna è ricorrente.
- Imposta Mostra timer conto alla rovescia, Stile conto alla rovescia, Mostra badge e Testo badge della campagna, poi salva.
- Apri il prodotto e aggiungilo al carrello; verifica il prezzo finale e il contenuto mostrato dagli hook del tema.
- Convalida un ordine di prova, controlla l'utilizzo in Pannello di controllo e metti in pausa la campagna per verificare che lo sconto termini.
Richiede PrestaShop 1.6.1 o successivo e PHP 7.1 o successivo.
Manuale di configurazione
Installa e configura i prezzi
Carica e installa mprdynamicscheduleddiscounts, poi fai clic su "Configure". Puoi anche aprire Sconti pianificati > Configurazione. Apri Integrità se l'installazione segnala infrastrutture mancanti.
Inizia con un prodotto e una campagna. Conferma la data e l'ora del server prima di inserire le date della campagna. I normali controlli di inizio e fine usano l'ora PHP del server. Le finestre ricorrenti hanno una propria impostazione del fuso orario.
Impostazioni generali
- Attiva modulo. Interruttore principale per i prezzi delle campagne e la loro visualizzazione nel negozio; valore predefinito:
1. Impostalo in Sconti pianificati → Configurazione → Impostazioni generali. - Rispetta stock. Esclude dagli sconti delle campagne i prodotti la cui quantità disponibile è pari o inferiore a zero. Valore predefinito:
1. Disattivalo solo se vuoi che le campagne includano questi prodotti.
Impostazioni di visualizzazione
- Mostra timer conto alla rovescia. Valore globale predefinito memorizzato per la visibilità del conto alla rovescia; valore predefinito:
1. Impostalo in Sconti pianificati → Configurazione → Impostazioni di visualizzazione. - Stile countdown predefinito. Valore globale predefinito memorizzato per lo stile del conto alla rovescia; valore predefinito:
simple. I valori disponibili sonosimple,flipecircle. - Mostra badge campagna. Valore globale predefinito memorizzato per la visibilità del badge; valore predefinito:
1. Impostalo in Sconti pianificati → Configurazione → Impostazioni di visualizzazione. - Colore badge predefinito. Colore di sfondo globale del badge; valore predefinito:
#ff0000. - Colore testo badge predefinito. Colore del testo globale del badge; valore predefinito:
#ffffff. - Mostra prezzo originale. Imposta il valore globale predefinito per mostrare il prezzo originale barrato; valore predefinito:
1. - Mostra risparmi. Memorizza la preferenza globale di visualizzazione del risparmio; valore predefinito:
1. I risparmi mostrati nel negozio seguono le impostazioni di visualizzazione di ogni campagna.
Le nuove campagne ereditano le impostazioni globali di conto alla rovescia, badge, colori, prezzo originale e risparmi. Anche le campagne senza impostazioni di visualizzazione salvate usano questi valori predefiniti. Il salvataggio di una campagna memorizza le sue impostazioni di visualizzazione; le modifiche globali successive non le sovrascrivono. Mostra prezzo originale visualizza il prezzo originale barrato tramite l’hook del prezzo quando una campagna riduce il prezzo di vendita.
Impostazioni di comportamento e urgenza
- Modalità di visualizzazione del prezzo. Controlla l’etichetta aggiuntiva del prezzo di campagna nella pagina prodotto; valore predefinito:
replace.replaceusa la normale visualizzazione del prezzo del tema;overlayaggiunge anche un’etichetta del prezzo di campagna tramite l’hookafter_price. Entrambe le modalità usano lo stesso prezzo di vendita scontato. - Combina sconti. Attiva il cumulo delle campagne. Valore predefinito:
0. Se è disattivato, viene usata la singola campagna che offre lo sconto maggiore. Se è attivo, le campagne contrassegnate come Cumulabile vengono cumulate in ordine di priorità e il loro totale viene confrontato con la migliore campagna non cumulabile. - Priorità sui prezzi specifici. Usa il vero prezzo base quando esiste un prezzo specifico nativo. Valore predefinito:
0. Se questa opzione e Combina sconti sono disattivate, i prezzi specifici nativi impediscono al calcolo del prezzo di campagna di applicare un ulteriore sconto. - Mostra indicatore di urgenza. Attiva il testo di offerta in scadenza e lo stile urgente del conto alla rovescia; valore predefinito:
1. - Soglia di urgenza (ore). Imposta la soglia di tempo rimanente per il testo e lo stile di urgenza; valore predefinito:
24. Usa un numero intero di ore non negativo. Il valore0disattiva lo stato di urgenza.
L’urgenza appare quando la campagna è attiva e il tempo rimanente è inferiore alla soglia configurata. Disattivare Mostra indicatore di urgenza rimuove il messaggio e lo stile di urgenza. L’urgenza può apparire nei blocchi campagna della pagina prodotto e del carrello anche quando il timer della campagna è nascosto.
Crea una campagna
Apri Sconti pianificati > Campagne e aggiungi una campagna. Compila i campi di campagna, sconto, selezione dei destinatari e date, poi salva.
- Nome campagna. Nome interno della campagna mostrato nell'elenco campagne e nel blocco campagna della pagina prodotto; valore predefinito: vuoto.
- Descrizione. Descrizione della campagna nel back office; valore predefinito: vuoto.
- Tipo campagna. Etichetta/tipo di campagna usato per l'organizzazione e come testo di ripiego del badge; valore predefinito:
scheduled. I valori disponibili sonoflash_sale,scheduled,recurring,countdown,early_birdelast_chance. - Priorità. Imposta l'ordine delle campagne, con i valori più alti per primi. Valore predefinito:
0. Conta quando le campagne cumulabili vengono applicate in sequenza; non permette a una singola campagna meno conveniente di prevalere su uno sconto maggiore. - Attivo. Attiva o mette in pausa una campagna senza eliminarla; valore predefinito:
1. - Tipo di sconto. Definisce il calcolo dello sconto; valore predefinito:
percent. I valori disponibili sonopercent,amountefixed_price. - Valore dello sconto. Valore numerico dello sconto usato dal tipo selezionato; valore predefinito:
0. - Cumulabile. Consente a questa campagna di partecipare al cumulo quando Combina sconti è attivo. Valore predefinito:
0. - Prodotti obiettivo. Seleziona prodotti, categorie o produttori per la campagna; valore predefinito: vuoto, ovvero tutti i prodotti.
- Data di inizio. Prima data e ora in cui la campagna può essere applicata; valore predefinito: valore obbligatorio impostato dal commerciante.
- Data di fine. Ultima data e ora in cui la campagna può essere applicata; valore predefinito: valore obbligatorio impostato dal commerciante.
Una selezione Prodotti obiettivo vuota include tutti i prodotti del negozio attuale. Limitane l'ambito per il primo test. Gli sconti percentuali usano il valore percentuale; gli sconti a importo sottraggono un importo fisso; le campagne a prezzo fisso mirano al prezzo obiettivo inserito. Controlla imposte, valuta e combinazioni usando un carrello reale.
Finestre ricorrenti
Per Tipo campagna = recurring, configura "Recurring Windows" oltre alle date esterne Data di inizio e Data di fine. Scegli un Fuso orario PHP valido, poi attiva e compila le finestre "Daily", "Weekly" o "Monthly" pertinenti. Una campagna ricorrente senza una finestra attiva salvata rimane inattiva anche all'interno del suo intervallo di date esterno.
Visualizzazione e limiti della campagna
Le nuove campagne ereditano i valori globali predefiniti di visualizzazione attuali. I valori predefiniti di visualizzazione elencati sotto sono quelli di fabbrica; controllali prima di salvare.
- Mostra timer conto alla rovescia. Visibilità del conto alla rovescia per campagna; valore predefinito:
1. - Stile conto alla rovescia. Stile del conto alla rovescia per campagna; valore predefinito:
simple. - Mostra badge. Visibilità del badge per campagna; valore predefinito:
1. - Testo badge. Testo del badge personalizzato per campagna; valore predefinito: vuoto, per mostrare il tipo di campagna.
- Colore badge. Colore di sfondo del badge per campagna; valore predefinito:
#ff0000. - Colore testo badge. Colore del testo del badge per campagna; valore predefinito:
#ffffff. - Mostra prezzo originale. Visualizza il prezzo originale barrato tramite l’hook
after_pricequando la campagna riduce il prezzo di vendita; valore iniziale di fabbrica:1. - Mostra risparmi. Visibilità dell'etichetta di risparmio per campagna; valore predefinito:
1. - CSS personalizzato. Applica CSS all’interno dei contenitori di questa campagna nel negozio; valore predefinito: vuoto.
- Utilizzi totali massimi. Numero massimo di utilizzi registrati della campagna per tutti i clienti; valore predefinito:
0, ovvero illimitato. - Utilizzi max. per cliente. Numero massimo di utilizzi registrati della campagna per un cliente; valore predefinito:
0, ovvero illimitato.
Lascia Testo badge vuoto per usare il tipo di campagna come etichetta. I modelli standard usano le impostazioni di conto alla rovescia, badge, prezzo originale e risparmio di ogni campagna. Il CSS personalizzato viene applicato dal JavaScript del negozio all’interno dei contenitori di quella campagna. Richiede che il browser supporti i fogli di stile costruiti e CSS @scope; usa il foglio di stile del tema per le regole di tutto il negozio.
I limiti di utilizzo vengono controllati rispetto agli utilizzi registrati e alla quantità richiesta. L'utilizzo viene registrato quando un ordine viene convalidato. Prova carrelli con più unità e ordini ripetuti quando usi i limiti.
Comprendi i prezzi sovrapposti
Con Combina sconti disattivato, il modulo sceglie la campagna idonea che offre lo sconto maggiore. Se è attivo, calcola un cumulo delle campagne Cumulabile idonee in ordine di priorità decrescente e confronta il risultato con la migliore campagna non cumulabile. Usa lo sconto maggiore e impedisce un prezzo finale negativo.
I prezzi specifici nativi vengono rispettati per impostazione predefinita. Priorità sui prezzi specifici e Combina sconti modificano questa decisione. Prova i prodotti con prezzi specifici esistenti prima di modificare uno dei due interruttori. Nelle versioni precedenti di PrestaShop, gli sconti delle campagne usano prezzi temporanei per il carrello attuale. Il modulo non modifica in modo permanente il prezzo base del prodotto.
I badge identificano la campagna principale. I risparmi visualizzati confrontano il prezzo originale con il prezzo di vendita finale, compresi gli sconti cumulati. Verifica il prezzo finale del carrello quando più campagne si cumulano.
Configura le regole di automazione
Apri Sconti pianificati > "Automation Rules" se vuoi intervenire sulle scorte invendute. Imposta "Rule Name", Attivo, Priorità, facoltativamente Data di inizio e Data di fine, "No Sale Days", "Stock Threshold", Tipo di sconto, Valore dello sconto, "Price Floor", "Floor Value", "Exclude Already Discounted Products" e Prodotti.
Le nuove regole iniziano attive, con priorità 0, periodo senza vendite di 30 giorni, soglia scorte 0, sconto percentuale 10, nessun prezzo minimo, valore minimo 0 ed esclusione dei prodotti già scontati attiva. Controlla "Preview" prima di "Run now". Usa "Automation Log" per esaminare i risultati. "Rollback" rimuove i destinatari generati attivi della regola.
Il modulo registra un'attività cron condivisa per valutare le regole sulle scorte invendute ogni 1800 secondi. Assicurati che il tuo esecutore cron MPR sia configurato prima di aspettarti valutazioni automatiche. Le normali campagne con date vengono valutate durante il calcolo del prezzo e non richiedono un'esecuzione cron solo per superare la data di inizio o fine.
Prova la visualizzazione della campagna
- Crea una campagna con un intervallo di date attuale e uno sconto del 15 percento su un prodotto di prova disponibile.
- Apri la pagina prodotto. Controlla il prezzo e il badge/conto alla rovescia facoltativo in
displayProductAdditionalInfosu PrestaShop 1.7 o successivo, oppure indisplayFooterProductsu PrestaShop 1.6. Nelle versioni di PrestaShop precedenti alla 8, la visualizzazione di prezzo originale, risparmi ed etichetta aggiuntiva del prezzo di campagna richiede un carrello esistente. - Apri un elenco prodotti. Controlla il badge in
displayProductListReviews. - Aggiungi il prodotto al carrello. Controlla quantità, imposte e prezzo finale. Controlla il blocco campagna del carrello in
displayShoppingCartFootere il risparmio indisplayProductPriceBlockcon tipoafter_price. - Convalida un ordine di prova. Controlla l'utilizzo della campagna e i totali di Pannello di controllo, gli utilizzi recenti e le campagne in arrivo.
- Metti in pausa la campagna usando Attivo. Controlla che lo sconto termini.
Se il prezzo non cambia, controlla Attiva modulo, date, finestre ricorrenti, selezione dei destinatari, scorte, limiti e prezzi specifici nativi. Se il prezzo cambia ma manca un badge, controlla i campi di visualizzazione della campagna e se il tuo tema rende quell'hook. Il tema potrebbe richiedere una modifica del modello.
Il Pannello di controllo riporta campagne attive, pianificate, scadute e totali, sconto totale concesso, ordini con sconti, utilizzo negli ultimi 30 giorni e campagne in arrivo. I totali di utilizzo dipendono dai record degli ordini convalidati.
Usa gli esempi di campagna e tema
Valori di esempio per una campagna promozionale prodotto Black Friday:
campaign_type = flash_sale
discount_type = percent
discount_value = 15
date_start = 2026-11-27 00:00:00
date_end = 2026-11-30 23:59:59
display_show_countdown = 1
display_countdown_style = flip
display_show_badge = 1
display_badge_text = Black Friday
display_badge_color = #111111
display_badge_text_color = #ffffff
max_uses_total = 0
max_uses_per_customer = 1
Esempio di campagna a prezzo fisso:
campaign_type = scheduled
discount_type = fixed_price
discount_value = 49.99
display_badge_text = Special price
Il CSS del tema può selezionare le classi del negozio caricate da views/css/front/campaigns.css:
.mprdsd-badge[data-mprdsd-type="flash_sale"] {
background: #111111 !important;
color: #ffffff !important;
}
.mprdsd-countdown--flip .mprdsd-countdown__value {
background: #111111;
border-radius: 2px;
}
.mprdsd-price__savings-inline {
background: #e8f5e9;
color: #2e7d32;
}
.mprdsd-cart-campaign {
border-color: #111111;
}
Quando sovrascrivi i modelli delle campagne, conserva i contenitori con data-mprdsd-campaign e data-mprdsd-css per applicare il CSS personalizzato di ogni campagna.
Percorso di override del modello per modificare il markup del badge negli elenchi:
{* themes/your_theme/modules/mprdynamicscheduleddiscounts/views/templates/hook/campaign-badge.tpl *}
{if isset($mprdsd_campaign) && $mprdsd_campaign && isset($mprdsd_display)}
<span class="mprdsd-badge"
data-mprdsd-type="{$mprdsd_campaign->campaign_type}"
style="background:{$mprdsd_display.badge_color|default:'#ff0000'};color:{$mprdsd_display.badge_text_color|default:'#ffffff'}">
{if isset($mprdsd_display.badge_text) && $mprdsd_display.badge_text}
{$mprdsd_display.badge_text}
{else}
{$mprdsd_campaign->campaign_type|replace:'_':' '|capitalize}
{/if}
</span>
{/if}
Endpoint dei front controller disponibili per il JavaScript personalizzato del tema:
/module/mprdynamicscheduleddiscounts/ajax?action=getActiveCampaigns
/module/mprdynamicscheduleddiscounts/ajax?action=getProductCampaigns&id_product=123&id_product_attribute=0
/module/mprdynamicscheduleddiscounts/ajax?action=getCampaign&id_campaign=4
Queste rotte AJAX espongono le informazioni sulle campagne per l'integrazione con il tema. Usa gli URL del modulo generati dal negozio quando il negozio ha un prefisso di lingua o una sottocartella. Verifica la risposta dell'endpoint prima di collegare JavaScript personalizzato.
Disinstalla
Esegui il backup dei dati di campagne, automazione e utilizzo prima di disinstallare. La procedura di disinstallazione elimina i prezzi specifici temporanei del modulo, rimuove il menu del modulo e le attività cron registrate e disinstalla il suo schema. Ricontrolla i prezzi dei prodotti e del carrello dopo la rimozione. Non aspettarti che i report di utilizzo delle campagne sopravvivano alla disinstallazione.
Compatibilità
Richiede PrestaShop 1.6.1 o successivo e PHP 7.1 o successivo.
Domande
1
Posso limitare una campagna a un gruppo clienti dal modulo della campagna?
Il modulo della campagna attuale non offre un controllo per selezionare gruppi clienti. Il selettore Target Products salva prodotti, categorie e produttori. Una campagna creata con questi controlli non è un’offerta riservata ai membri. Una selezione vuota si applica a tutto il catalogo del negozio attuale.
Problemi noti
10
Etichetta del risparmio mancante
Testi tradotti del back office
Testo tradotto danneggiato
Sconti pianificati assenti dai prezzi
Regole di sconto non sempre rispettate
Il modulo non si carica su PrestaShop 8 e 9
Sicurezza rafforzata
Filtri dell’elenco sconti
Il modulo non si carica
Errori di formattazione dei prezzi nelle nuove versioni di PrestaShop
Richieste funzionalità
7
Implementato
Fasce di sconto ricorrenti con fuso orario configurabile
Amministrazione multilingue
Gestione della licenza
Aggiornamenti del modulo con un clic
Sconti sulle scorte a lenta rotazione
Programmi di sconto ricorrenti
Integrazione della cronologia prezzi Omnibus
Registro modifiche
v1.3.02026-10-04
- Addedautomatic theme detection for Classic and Hummingbird style compatibility
- Addedadmin menu management via MenuInstaller for streamlined module setup
- Addedself-healing integrity checks for automatic diagnostics and repair
- AddedLicense management tab with key management and renewal options
- Addedcomplete FR/DE/ES/IT/PL translations
- Improvedadmin list columns with visual badge indicators and multiselect filters
- Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns
Versioni precedenti
v1.2.02026-06-29
- AddedPrestaShop 9 and Hummingbird theme compatibility
- Addedperformance-based trigger: apply discount when product sales velocity drops below a configurable threshold
- Improveddiscount scheduling UI with visual calendar displaying active promotion windows
- Fixedrecurring discount not resetting correctly when a promotion window spans a month boundary
- Addedstock-surplus trigger: automatically increase discount percentage when stock exceeds a set level
- Optimized scheduler query performance with compound index on product, date range, and trigger type
v1.0.62026-02-23
- Addedcomplete FR/DE/ES/IT/PL translations
- FixedApply scheduled discounts to product prices
- FixedPass module context to theme detector uninstall
- FixedReplace Tools::displayPrice with PriceFormatter compat wrapper
- FixedRename isEnabled() to avoid conflict with ModuleCore::isEnabled()
v1.0.02025-11-24
- Initialrelease of Smart Dynamic Scheduled Discounts
- InitialTime-based promotions: set start and end datetime for automatic discount activation and deactivation
- InitialStock-level triggers: discount activates when product stock falls below or rises above a threshold
- InitialPerformance triggers: discount fires when product records no sales within a configurable window
- InitialBack-office promotion calendar with upcoming, active, and expired promotion views
v1.1.02025-09-29
- Addedrecurring discount patterns: daily, weekly, and monthly repeat cycles with optional end date
- Addedtime-of-day discounts: configure active hours for flash pricing per timezone
- Improveddiscount conflict resolution with configurable priority when multiple rules match a product
- Fixedscheduled discount not deactivating on time when PS cron runs infrequently
Demo
Prova il modulo completo prima di acquistare
Acquista la licenza in seguito e mantieni le tue impostazioni.
- La tua demo di 30 giorni Provalo sul tuo negozio per 30 giorni dalla prima installazione.
- Negozio demo pronto Esplora un negozio demo pronto nel tuo browser.
- Senza registrazione Nessun account, e-mail o dominio del negozio richiesto.
Scaricando, accetti le condizioni della demo e l’informativa sulla privacy.
Aprendo questa demo accetti i termini della demo e la politica sulla privacy.