Modulo PrestaShop · Open source · Progetto dimostrativo
rfshipbar
Un modulo vero, installabile, con pannello admin e aggiornamento live del carrello.
Il brief
Brief dimostrativo: un negozio PrestaShop vuole mostrare ai clienti quanto manca alla spedizione gratuita, ovunque nel sito, e aggiornare il messaggio in tempo reale quando il carrello cambia. I moduli del marketplace provati non si aggiornavano nella modale AJAX.
Obiettivi
- Soglia configurabile, multi-valuta, IVA inclusa o esclusa
- Aggiornamento in tempo reale senza ricaricare la pagina
- Codice pulito, compatibile con PrestaShop 1.7.6+ e 8.x, senza modifiche al core
Cosa abbiamo costruito
- Modulo
rfshipbarcon pannello di configurazione (HelperForm): soglia, messaggi, colore, posizione - Tre hook: carrello, modale AJAX, header
- Endpoint JSON e script che ascolta l'evento
updatedCartdi PrestaShop - Template Smarty, CSS e JS senza dipendenze
- Licenza MIT: scaricalo, installalo, guardaci dentro
Provala: cambia il carrello e guarda la barra
Un pezzo di codice, per chi vuole guardarci dentro
public function getBarData(Cart $cart = null)
{
$cart = $cart ?: $this->context->cart;
$taxIncl = (bool) Configuration::get(self::CONF_TAX_INCL);
$total = $cart ? (float) $cart->getOrderTotal($taxIncl, Cart::ONLY_PRODUCTS) : 0.0;
$threshold = Tools::convertPrice((float) Configuration::get(self::CONF_THRESHOLD), $this->context->currency);
$missing = max(0, $threshold - $total);
$percent = $threshold > 0 ? min(100, (int) round($total / $threshold * 100)) : 100;
$msg = $missing > 0
? str_replace('{amount}', '<strong>' . Tools::displayPrice($missing) . '</strong>', Configuration::get(self::CONF_MSG_BEFORE))
: Configuration::get(self::CONF_MSG_AFTER);
return ['missing' => $missing, 'percent' => $percent, 'message' => $msg, 'unlocked' => $missing <= 0];
} Progetto dimostrativo: azienda, persone e dati sono fittizi. Il codice e il design sono reali.
Basta rimandare. Parliamo del tuo progetto oggi.
Preventivo scritto entro 24 ore. Nessun impegno, nessuna chiamata di vendita infinita: solo una proposta chiara con prezzo e tempi.