Views within PrestaShop
PrestaShop uses the Smarty template engine to generate its views: http://www.smarty.net/.
The views are stored in
.tpl files, and are used throughout PrestaShop:
- Front office view: the files belong to the enabled theme, which is located in the
- For instance, with the default theme:
- Back office view: the files belong to the enabled theme, which is located in the
- For instance, the the default back office theme:
Modules can add their own templates to adapt parts of the interface:
- The front office:
- The back office:
There’s a third template folder, called
/hook/, which can be used for view files that are tied to a specific hook.
A view name is generally the same as the name for the code using it. For instance,
Overriding a view file
Keep overrides for your own shop
Overrides in PrestaShop are exclusive. This means that if your module overrides one of PrestaShop’s behaviors, another module will not be able to use that behavior properly, or override it in an predictable way.
Therefore, overrides should only be used for your own local modules, when you have a specific need that cannot be applied with it.
It is not recommended to use an override in a module that you intend to distribute (for instance through the PrestaShop Addons marketplace), and they are forbidden in partner modules.
As there is no inheritance, there is no way to override a view. In order to change a view, you must rewrite the template file, and place it in your theme/module’s folder, in the same path.
For views tied to a Helper, you can use the PrestaShop
For instance, if you want to change the way the front office order template file:
…you must copy the template file and its path to the override folder:
…then edit the copied template file to better suit your needs.
When adding an override file manually, do not forget to delete the
/cache/class_index.php file so that PrestaShop can take your changes into account.
See the “Overriding default behaviors” page for more information.