PrestaShop allows classes and controllers to be overridden using the override directory and override module templates in the theme. This allows code to be modified without actually modifying the original files, which makes it easier to upgrade to newer versions of PrestaShop in the future.
To override any of PrestaShop’s classes, create a file in the override/classes directory with the same name as the class. See Models for a list of classes that can be overridden and a description of each class.
TODO: Add example of extending CMS to add author and date added
To override any of PrestaShop's controllers, create a file in the override/controllers directory with the same name as the controller. See Controllers for a list of controllers you can override and what each controller does.
TODO: Add example of overriding a controller
PrestaShop allows module template files to be overridden inside a theme, so that different themes can display modules differently. Module PHP files cannot be overridden though, so the same module code must be used for all themes.
It is only the view that can be changed. To override a module's template file, mirror the file's path inside the theme. For example, to make a Web 2.0-style footer, copy
themes/, then edit the footer code at the bottom.
The theme will use the new code, while the default PrestaShop theme will continue to use the original PrestaShop code.
Overriding Back Office tabs
TODO: Add example of overriding Back Office tab