The PrestaShop 1.7 file structure

The PrestaShop 1.7 file structure

The PrestaShop developers have done their best for clearly and Inference separate the various parts of the software.

Here is how the files are organized:

  • /admin: Contains all the PrestaShop files pertaining to the back office. When you accessing this folder with any browser, you will be asked to provide proper identification, for security reasons. you should make sure to protect that folder with a .htaccess or .htpasswd file (You can customized  the name on installation)
  • /app: NEW IN 1.7
  • /cache: There are temporary and generating folders used to reduce the load of the server.
  • /classes: The Prestashop object contains all the files related to the model (some are used for the front office, for other back offices). Each file represents the PHP class and its contains methods / properties
  • /config: All of the PrestaShop configuration files are included in this folder until you are asked, you should never change them, as they are directly controlled by the installer and back office of PrestaShop.
  • /controllers: All files in Prestashop controllers - such as the Model-View-Controller (MVC), software architecture used by PrestaShop Each file controls the specific part of PrestaShop.
  • /docs: Some documents, licenses, and sample import files are included. Note: It must be deleted in the production environment.
  • /download: Includes your virtual products, which can be downloaded by the payer for it. Files are stored with the MD5 filename.
  • /img: Includes PrestaShop's default images, icons and picture files - that is, it is not related to the theme. This is where you can find pictures for products categories (/ c sub-folders), those products (/p sub-folders), and back office itself (/ admin subfolders)
  • /install: All files related to the installer of PrestaShop are required to be deployed after you install it to increase security.
  • /js: Most javascript files that are not connected to themes include most of the back office. This is also what you will get jQuery framework.
  • /localization: All Localisation Files of PrestaShop - that is, information such as currency, language, tax rules and tax rules groups, states and various units used in the selected country (i.e. volume in litre, weight in kilograms, etc.)
  • /mails: All HTML and text files related to e-mails sent by PrestaShop are included. Each language has its own special folder, where you can edit your content manually if you want it. PrestaShop is a tool for editing your e-mails, which are located in the back office, in Localisation> Translation Page
  • /modules: All contains PrestaShop modules; each has its own folder. If you want to remove a module definitely, uninstall it from the back office, then you should delete its folder.
  • /override: This is a special folder that appeared in PrestaShop 1.4. Using PrestaShop's regular folder / filename convention, files that override default classes or controllers of PrestaShop can be created. This allows you to change PrestaShop core behaviour, without touching the original files, which keeps them safe for the next update. Note: Recommendations are not recommended for auditors modules that you want to distribute / sell, and are strictly prohibited in partner modules. Keep them for your own shop.
  • /pdf: The PDF file contains all the template files (.tpl) related to the firm (invoice, delivery slip, etc.). Replace these files to replace the PDF files created by PrestaShop.
  • /src: NEW IN 1.7. It includes architecture files that include Symphony Framework, Legacy Framework and Adaptor Classes.
  • /tests: NEW IN 1.7. has automated tests This folder is not part of the public archive.
  • /themes: It has all the themes currently installed; each has its own folder.
  • /tools: External resources that were compiled in PrestaShop. For instance, this will get you a Smarty (template engine), TCPDF (PDF file generator), swift (mail sender), peer XML parser (PHP Tool), etc.
  • /translations: There is a sub-folder for each available language. However, if you want to change the translation, you must use PrestaShop internal equipment, and do not edit it directly in this folder.
  • /travis-scripts: NEW IN 1.7. Includes Travis-Spasic Scripts. This folder is not part of the public archive.
  • /upload: There are files that will be uploaded by clients for custom products (for example, a picture that a client wants to print on a mug).
  • /vendor: NEW IN 1.7. Contains various 3rd-party tools and frameworks that are used by PrestaShop, such as Composer, cURL, Doctrine, etc.
  • /web: NEW IN 1.7. There are various web-server-specific files, such as favicon.com or robots.txt. This folder is not part of the public archive.
  • /webservice: There are files that enable third-party applications to access PrestaShop via its API.
  • /route: folders that were removed between 1.6 and 1.7:
  • /css: All CSS files that are not attached to themes are included - therefore, this is mostly used by Prestesh Back Office, and has now been moved to the theme.css file in / admin / themes / new-theme / public. Folder
  • /log: The log files generated by PrestaShop in different stages, for example, during the installation process