Child pages
  • Views within PrestaShop
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 5 Current »

Views within PrestaShop

PrestaShop uses the Smarty template engine to generate its views: http://www.smarty.net/.

Theme views

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 /themes/ folder.
    For instance, with the default theme: /themes/default-bootstrap/product.tpl
  • Back office view: the files belong to the enabled theme, which is located in the /admin-dev/themes/ folder.
    For instance, the the default back office theme: /admin-dev/themes/default/template/controllers/products/information.tpl

Module views

Modules can add their own templates to adapt parts of the interface:

  • the front office: /modules/bankwire/views/templates/front/payment_execution.tpl
  • the back office: /modules/blocklayered/views/templates/admin/view.tpl

There's a third template folder, called /hook/, which can be used for view files that are tied to a specific hook. For instance,

Best practices

A view name is generally the same as the name for the code using it. For instance, 404.php uses 404.tpl.

Overriding a view file

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 /override/ folder.
For instance, if you want to change the way the front office order template file: /admin-dev/themes/default/template/controllers/orders/helpers/view/view.tpl
...you must copy the template file and its path to the override folder: /override/controllers/admin/templates/orders/helpers/view/view.tpl
...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.

 

  • No labels