// Original logic would run if we called parent $originalCost = parent::calculateCost($products);
return $originalCost + $extraFee;
In Back Office → Advanced Parameters → Performance → click "Clear cache". Important Naming Convention The override class name must be unique. The standard convention is: prestashop module override
/override/modules/customshipping/classes/CustomShippingCalculator.php Your override must extend the original class and use the same namespace.
PrestaShop does not automatically scan new overrides. You must clear the class index. // Original logic would run if we called
Delete /var/cache/dev/class_index.php (and /var/cache/prod/ in production).
This is where come into play. What Is a Module Override? An override is a safe, core-respecting way to replace or extend the logic of an existing module without modifying its original source files. PrestaShop does not automatically scan new overrides
When used correctly, overrides will save you from module vendor lock-in and let you bend PrestaShop to your exact business needs – without losing the ability to update. Have a tricky module override scenario? Share it in the comments below!