Child pages
  • Creating a first module

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

File/folder nameDescriptionDetails
name_of_the_module.phpMain file.

The main PHP file should have the same name as the module's root folder.
For instance, for the BlockCMS module:

  • Folder name: /modules/blockcms
  • Main file name: /modules/blockcms/blockcms.php
config.xmlCache configuration file.If it does not exist yet, this file is automatically generated by PrestaShop when the module is first installed.

logo.gif or logo.jpg (up to v1.4)
logo.png (v1.5+)

Icon files representing this module in the back - office.PrestaShop 1.4: 16*16 pixels Gif or Jpeg file.
PrestaShop 1.5: 32*32 pixels PNG file.
If your module works on both PrestaShop 1.4 and PrestaShop 1.5+, you should have both a logo.gif AND a logo.png file.
/viewsThis folder contains the View files. 
/views/templatesThis folder contains your module's template files (.tpl). If the module needs to work with PrestaShop 1.4, the template files should be placed either directly at at the root of the module's folder, or in a /template folder at the root of the module's folder.
/views/templates/adminSub-folder for template files used by the module's administration controllers. 
/views/templates/frontSub-folder for template files used by the module's front office controllers. 
/views/templates/hookSub-folder for template files used by the module's hooks. 
/views/cssSub-folder for CSS files used.If the module needs to work with PrestaShop 1.4, the CSS files should be placed in a /css folder at the root of the module's folder.
/views/jsSub-folder for JavaScript files.If the module needs to work with PrestaShop 1.4, the JavaScript files should be placed in a /js folder at the root of the module's folder.
/views/imgSub-folder for image files.If the module needs to work with PrestaShop 1.4, the image files should be placed in a /img folder at the root of the module's folder.
/controllersThis folder contains the Controller files.You can use the same sub-folder paths as for the View files.
For instance, /modules/bankwire/controllers/front/payment.php .
/overrideSub-folder for the class-overriding code.This is very useful when you need to change some of the default PrestaShop code. Since you must not do so, you can override the default code.
For instance, /modules/gsitemap/override/classes/Shop.php extends the default ShopCore class.
/translationsSub-folder for the translation files.fr.php, en.php, es.php, etc.
/themes/[theme_name]/modulesSub-folder for overriding .tpl files and languages files, if necessary.This folder is essential during modifications of an existing module, so that you can adapt it without having to touch its original files. Notably, it enables you to handle the module's template files in various ways, depending on the current theme.
/upgradeSub-folder for upgrade filesWhen releasing a new version of the module, the older might need an upgrade of its data or files. This can be done using this folder.

...