Sconti Smart dinamici & programmati: configurazione e aiuto

Avvio rapido

  1. Carica e installa mprdynamicscheduleddiscounts, poi apri Sconti pianificati > Configurazione.
  2. Lascia Attiva modulo attivo e controlla Rispetta stock in Impostazioni generali.
  3. Apri Campagne e imposta Nome campagna, Tipo di sconto e Valore dello sconto per un prodotto di prova.
  4. Imposta Prodotti obiettivo, Data di inizio, Data di fine e Attivo; aggiungi "Recurring Windows" se Tipo campagna è ricorrente.
  5. Imposta Mostra timer conto alla rovescia, Stile conto alla rovescia, Mostra badge e Testo badge della campagna, poi salva.
  6. Apri il prodotto e aggiungilo al carrello; verifica il prezzo finale e il contenuto mostrato dagli hook del tema.
  7. 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 sono simple, flip e circle.
  • 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. replace usa la normale visualizzazione del prezzo del tema; overlay aggiunge anche un’etichetta del prezzo di campagna tramite l’hook after_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 valore 0 disattiva 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 sono flash_sale, scheduled, recurring, countdown, early_bird e last_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 sono percent, amount e fixed_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_price quando 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

  1. Crea una campagna con un intervallo di date attuale e uno sconto del 15 percento su un prodotto di prova disponibile.
  2. Apri la pagina prodotto. Controlla il prezzo e il badge/conto alla rovescia facoltativo in displayProductAdditionalInfo su PrestaShop 1.7 o successivo, oppure in displayFooterProduct su 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.
  3. Apri un elenco prodotti. Controlla il badge in displayProductListReviews.
  4. Aggiungi il prodotto al carrello. Controlla quantità, imposte e prezzo finale. Controlla il blocco campagna del carrello in displayShoppingCartFooter e il risparmio in displayProductPriceBlock con tipo after_price.
  5. 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.
  6. 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

RisoltoAggiornato:
Risolto nella versione: 1.3.3
I prodotti scontati potevano perdere l’etichetta del risparmio su PrestaShop 1.7, 8 e 9. Ora l’etichetta viene nuovamente mostrata.

Testi tradotti del back office

RisoltoAggiornato:
Risolto nella versione: 1.3.3
Alcuni testi del back office restavano in inglese anche quando era selezionata un’altra lingua. Ora le etichette usano le traduzioni disponibili.

Testo tradotto danneggiato

RisoltoAggiornato:
Risolto nella versione: 1.2.1
Alcuni testi tradotti degli sconti mostravano punteggiatura o escape danneggiati. Le traduzioni interessate sono state corrette.

Sconti pianificati assenti dai prezzi

RisoltoAggiornato:
Risolto nella versione: 1.2.0
Una campagna pianificata attiva poteva non modificare i prezzi dei prodotti o non arrivare al carrello, soprattutto su PrestaShop 1.6 e 1.7. Ora gli sconti si applicano nelle versioni supportate.

Regole di sconto non sempre rispettate

RisoltoAggiornato:
Risolto nella versione: 1.2.0
Le combinazioni di sconti, la priorità delle campagne, le restrizioni di disponibilità e i limiti di utilizzo basati sulla quantità potevano essere ignorati. Ora i prezzi rispettano le regole configurate.

Il modulo non si carica su PrestaShop 8 e 9

RisoltoAggiornato:
Risolto nella versione: 1.2.0
Il modulo poteva non caricarsi su PrestaShop 8 o 9. I problemi di compatibilità interessati sono stati corretti.

Sicurezza rafforzata

RisoltoAggiornato:
Risolto nella versione: 1.2.0
Rafforzamento della sicurezza per le impostazioni di visualizzazione degli sconti.

Filtri dell’elenco sconti

RisoltoAggiornato:
Risolto nella versione: 1.0.5
Alcuni filtri dell’elenco sconti non corrispondevano alle colonne visualizzate. Le colonne interessate ora vengono filtrate correttamente.

Il modulo non si carica

RisoltoAggiornato:
Risolto nella versione: 1.0.5
Il modulo poteva non caricarsi a causa di un conflitto con PrestaShop. Ora si carica senza quel conflitto.

Errori di formattazione dei prezzi nelle nuove versioni di PrestaShop

RisoltoAggiornato:
Risolto nella versione: 1.0.5
La gestione degli sconti poteva fallire formattando i prezzi nelle nuove versioni di PrestaShop. Ora i prezzi vengono visualizzati correttamente.

Richieste funzionalità

7

Implementato

Fasce di sconto ricorrenti con fuso orario configurabile

Implementato
Le campagne di sconto supportano fasce orarie ricorrenti nel fuso orario scelto, anche a cavallo della mezzanotte. Puoi definire gli orari di attivazione nella pianificazione della campagna.

Amministrazione multilingue

Implementato
Usa l'amministrazione degli sconti in tedesco, francese, spagnolo, italiano e polacco.

Gestione della licenza

Implementato
Visualizza e gestisci la licenza del modulo da una pagina dedicata del back office.

Aggiornamenti del modulo con un clic

Implementato
Verifica la disponibilità degli aggiornamenti del modulo e installali dal back office.

Sconti sulle scorte a lenta rotazione

Implementato
Sconta automaticamente i prodotti senza vendite idonee da un numero di giorni scelto e con scorte superiori a una soglia scelta. Imposta prodotti interessati, esclusioni e limiti minimi di prezzo o margine, visualizza l'anteprima del risultato e annulla le modifiche.

Programmi di sconto ricorrenti

Implementato
Ripeti le campagne di sconto con programmi giornalieri, settimanali, mensili o personalizzati.

Integrazione della cronologia prezzi Omnibus

Implementato
Segnala le modifiche applicate ai prezzi di catalogo per il monitoraggio 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.
Avvia il negozio demo

Scaricando, accetti le condizioni della demo e l’informativa sulla privacy.

Aprendo questa demo accetti i termini della demo e la politica sulla privacy.

Caricamento...
Torna su