Use overrides sparingly, document them religiously, and always ask: “Could I achieve this with a hook or a custom module instead?”
PrestaShop is one of the most flexible e-commerce platforms available, largely thanks to its modular architecture. However, there comes a time in every developer’s journey when a module doesn’t quite do what you need. The core logic is 90% perfect, but you need to tweak a method, add a filter, or change a database query. prestashop module override
/override/modules/customshipping/classes/CustomShippingCalculator.php Your override must extend the original class and use the same namespace. Use overrides sparingly
<?php // override/modules/customshipping/classes/CustomShippingCalculator.php class CustomShippingCalculatorOverride extends CustomShippingCalculator document them religiously
return $originalCost + $extraFee;
// New logic: add $5 handling fee for fragile items $extraFee = 0; foreach ($products as $product) if ($product['is_fragile']) $extraFee += 5;