PS PrestaShop Principiante

Data di consegna stimata — Guida completa

Installare e configurare il modulo Data di consegna stimata: cut-off, tempi di preparazione, corrieri e giorni festivi.

Aggiornato Versione del modulo 1.0.0

Panoramica

DataFirefly Delivery Date mostra una data di consegna stimata sulla scheda prodotto, nel carrello e nel checkout del tuo negozio PrestaShop 8 o 9. Il calcolo combina quattro fattori: il tempo di preparazione proprio di ogni prodotto, l’intervallo di consegna del corriere (min/max giorni lavorativi), i fine settimana e i giorni festivi, e la tua ora di cut-off giornaliera. Prima del cut-off, un conto alla rovescia in tempo reale indica al cliente quanto tempo gli resta per una spedizione in giornata.

Installazione

  1. Nel back-office di PrestaShop, apri Moduli → Gestione moduli → Carica un modulo.
  2. Carica il file dfdeliverydate.zip.
  3. Fai clic su Installa, poi su Configura.

L’installazione crea tre tabelle (ps_dfdeliverydate_product, ps_dfdeliverydate_carrier, ps_dfdeliverydate_holiday), registra gli hook necessari, aggiunge una scheda di amministrazione per i giorni festivi e precarica gli otto festivi nazionali francesi come ricorrenti annuali.

Configurazione generale

Da Moduli → Gestione moduli → DataFirefly Delivery Date → Configura, il primo pannello raggruppa le impostazioni globali:

  • Ora e minuto di cut-off — l’orario limite dell’ordine per la spedizione in giornata (predefinito 14:00).
  • Fuso orario di spedizione — stringa di fuso orario PHP, predefinito Europe/Paris. Tutti i calcoli delle date avvengono in questo fuso, indipendentemente da quello del server.
  • Giorni di preparazione predefiniti — applicati a tutti i prodotti senza valore specifico.
  • Min/max giorni del corriere predefiniti — usati quando un corriere non ha un intervallo proprio.
  • Esclusione dei fine settimana — esclude sabato e domenica dal calcolo. Se disattivata, puoi escludere solo la domenica (opzione successiva) se spedisci il sabato.
  • Modalità di visualizzazione — intervallo (tra min e max), solo data più tardiva, oppure intervallo con data di spedizione.
  • Zone di visualizzazione — tre interruttori indipendenti: scheda prodotto, carrello, checkout.
  • Conto alla rovescia in tempo reale — attiva o disattiva il contatore HH:MM:SS fino al cut-off.

Tempo di preparazione per prodotto

Ogni scheda prodotto del back-office mostra un pannello «Delivery date — preparation time». Inserisci il numero di giorni lavorativi necessari prima che questo prodotto possa essere spedito:

  • 0 — prodotto in stock, spedizione immediata (idoneo alla spedizione in giornata prima del cut-off);
  • 2 — prodotto che richiede due giorni lavorativi di preparazione;
  • 14 — prodotto realizzato o personalizzato su ordinazione.

Il valore viene registrato al salvataggio del prodotto. Nel carrello, il prodotto con il tempo di preparazione più lungo determina la data di spedizione dell’intero ordine.

Configurazione dei corrieri

Il secondo pannello della pagina di configurazione elenca tutti i corrieri attivi. Per ciascuno, definisci il minimo e il massimo di giorni lavorativi di consegna. Esempi comuni: corriere espresso 1–2, posta standard 3–5, reti di punti di ritiro 4–7. Sulla scheda prodotto e nel carrello viene usato l’intervallo del corriere predefinito del negozio; al checkout, il modulo passa al corriere effettivamente selezionato dal cliente.

Quando PrestaShop crea una nuova versione di un corriere (un nuovo ID viene generato automaticamente dopo una modifica), il modulo copia la configurazione sul nuovo ID — nessuna impostazione va persa.

Giorni festivi

I giorni festivi si gestiscono da Migliora → Spedizione → Giorni festivi (Delivery Date). Ogni voce ha una data, un nome, un indicatore ricorrente e uno stato attivo/inattivo:

  • Ricorrente — contano solo il mese e il giorno; il festivo viene proiettato automaticamente sull’anno in corso e su quello successivo (es. Natale ogni 25 dicembre).
  • Singolo — una data precisa unica, ideale per un ponte o una chiusura eccezionale.

Gli otto festivi nazionali francesi sono preinstallati come ricorrenti: 1 gennaio, 1 maggio, 8 maggio, 14 luglio, 15 agosto, Ognissanti, 11 novembre, 25 dicembre. Puoi disattivarli singolarmente e aggiungere i tuoi festivi italiani (25 aprile, 2 giugno, 8 dicembre, il santo patrono locale) o quelli dei tuoi paesi di spedizione.

Algoritmo di calcolo

Il calcolo segue questi passaggi, tutti espressi in giorni lavorativi nel fuso orario configurato:

  1. La data di spedizione parte da oggi. Se l’ora attuale supera il cut-off, si sposta a domani.
  2. Il tempo di preparazione del prodotto (o il massimo del carrello) viene aggiunto in giorni lavorativi, saltando fine settimana e festivi.
  3. Se la data di spedizione risultante cade in un giorno non lavorativo, viene spostata al giorno lavorativo successivo.
  4. L’intervallo di consegna si ottiene aggiungendo il min e il max del corriere, sempre in giorni lavorativi.

Il messaggio «spedizione oggi» e il conto alla rovescia appaiono solo quando sono soddisfatte tre condizioni: l’ora attuale è precedente al cut-off, oggi è un giorno lavorativo e il tempo di preparazione è zero.

Personalizzazione dei template

I tre widget frontend sono renderizzati tramite template Smarty sovrascrivibili. Copia il file o i file interessati da modules/dfdeliverydate/views/templates/hook/ a themes/tuo-tema/modules/dfdeliverydate/views/templates/hook/:

  • product-delivery-date.tpl — scheda prodotto;
  • cart-delivery-date.tpl — carrello;
  • checkout-delivery-date.tpl — checkout e conferma d’ordine.

Ogni template riceve un array $dfdd contenente tra l’altro ships_today, min_date_label, max_date_label, ship_date_label, cutoff_ts e display_mode. Il CSS si trova in views/css/front.css (classi con prefisso dfdd-).

Risoluzione dei problemi

  • Il widget non appare sulla scheda prodotto — verifica che la zona sia attivata nella configurazione e che il tuo tema implementi l’hook displayProductAdditionalInfo (il tema Classic e la maggior parte dei temi del mercato lo fanno).
  • Il conto alla rovescia mostra 00:00:00 — il cut-off di oggi è passato; il contatore viene mostrato solo finché la spedizione in giornata è ancora possibile.
  • Le date sembrano spostate di un giorno — controlla il fuso orario configurato nel modulo: il calcolo usa questo fuso, non quello del server né quello del browser.
  • Un festivo non viene considerato — verifica che sia attivo e, se è singolo, che il suo anno corrisponda all’anno in corso.

Disinstallazione

La disinstallazione rimuove le tre tabelle del modulo, tutte le voci di configurazione (prefisso DFDD_), la scheda di amministrazione dei festivi e le registrazioni degli hook. I tempi di preparazione inseriti prodotto per prodotto vengono quindi persi definitivamente — esportali prima se necessario.

Questa pagina ti è stata utile?

Ancora bloccato? Contatta l'assistenza