Correzione modulo Prestashop COD with fee
agosto 31st, 2010 — 06:24 pm
Qualche tempo fa ho acquistato sul sito PrestaWorks l’ottimo modulo COD with fee per Prestashop, che permette di aggiungere una tassa in percentuale, con un minimo fisso, per l’acquisto di prodotti pagati con metodo in contrassegno. Spesso infatti i corrieri applicano una tariffa extra per questo tipo di pagamento. Bartolini, per esempio, applica un 2% sul totale dell’ordine, con un minimo dovuto di 5 euro.
L’acquisto del modulo è stato un azzardo: la compatibilità era garantita con Prestashop 1.2, ma già da qualche mese era stato rilasciato Prestashop 1.3.1 che avevo già configurato e personalizzato.
Nonostante ciò, tutto sembrava funzionare perfettamente, ma all’ultimo step dell’ordine, l’errore era impietoso:
Order -> total_products_wt is empty
La ricerca online di una soluzione non è stata semplice nè rapida. La comunità spagnola di Prestashop ha risolto il problema.
E’ necessario modificare il file cashondeliverywithfee.php nella cartella modules/cashondeliverywithfee inserendo la riga
$order->total_products_wt = floatval(Tools::convertPrice(floatval(number_format($cart->getOrderTotal(true, 1),2, ‘.’, ‘’)), $currency));
dopo la riga
$order->total_products = floatval(Tools::convertPrice(floatval(number_format($cart->getOrderTotal(false, 1), 2, ‘.’, ‘’)), $currency));
E con questo il problema viene risolto e il modulo funziona correttamente.

Spesso capita di realizzare il proprio sito web in Joomla! sul computer locale (seguendo, per esempio, la