In this blog, we will learn how to override modules in PrestaShop. Sometimes, we need to enhance or modify the module feature then it is not recommended to modify the module file directly. If we modify the module files directly then in the future if you upgrade the module, all modifications will be lost. You can see the below PrestaShop official to know more about overriding:
https://devdocs.prestashop-project.org/8/modules/concepts/overrides/
We can override the below files of the module:
- Main file
- Controller files (front & admin)
Override module main file:
To override a module’s main class, you need to extend it and you have to provide the extended class the same name and add the Override
suffix:
ie: If you want to override ps_shoppingcart
module then the extended class name will be Ps_ShoppingcartOverride
.
class Ps_ShoppingcartOverride extends Ps_Shoppingcart { // Override the Ps_Shoppingcart methods here }
Override module controller file:
You can override module admin and front controllers. To override module controllers, you have to do the same thing as done for overriding the module main class. You need to extend the controller class and provide the extended class the same name and add the Override suffix:
ie: If you want to override the ps_emailsubscription
module front controller class Ps_EmailsubscriptionSubscriptionModuleFrontController
then the extended class name should be Ps_EmailsubscriptionSubscriptionModuleFrontControllerOverride
:
class Ps_EmailsubscriptionSubscriptionModuleFrontControllerOverride extends Ps_EmailsubscriptionSubscriptionModuleFrontController { public function postProcess() { ... } }
In the same manner, you can also override the module admin controller. All overridden module files are moved to the PrestaShop override folder (override/modules/<MODULE_NAME>/) during the installation of the module.
That’s all about this blog.
If any issue or doubt please feel free to mention it in the comment section.
I would be happy to help.
Also, you can explore our PrestaShop Development Services & a large range of quality PrestaShop Modules.
For any doubt contact us at [email protected].
Be the first to comment.