Warning: You are browsing the documentation for PrestaShop 1.7, which is outdated.
You might want to read an updated version of this page for the current version, PrestaShop 8. Read the updated version of this page
Your PHP code should be compatible with PHP compatibility chart
Your HTML/CSS/JS code should work with at least:
Mobile-wise:
Use spaces for indentation in every language (PHP, HTML, CSS, etc.):
4 spaces for PHP files, 2 spaces for all other file types.
Use our .editorconfig file in order to easily configure your editor: https://github.com/PrestaShop/PrestaShop/blob/1.7.8.0/.editorconfig
You should follow the PSR-2 standard, just like PrestaShop does.
In general, we tend to follow the Symfony coding standards.
Use HTML 5 tags:
<br />
→ <br>
<nav>
<section>
All open tags must be closed in the same file (a <div>
should not be opened in header.tpl
then closed in footer.tpl
). Subtemplates (templates meant to be included in another template) must reside inside a /_partials/
folder.
Use CSS3.
We recommend that you follow the RSCSS structure
Make sure your linter tool follows our .eslint file: https://github.com/PrestaShop/PrestaShop/blob/1.7.8.0/js/.eslintrc.js
If you wish to write ECMAScript 2015 (ES6) code, we recommend using the Babel compiler to maximize compatibility.
A good JS practice consists in splitting files per use, and then compiling them into one.
Learn more about the ES2015 standard: https://babeljs.io/docs/learn-es2015/