Sample modules and how to guides

The PrestaShop Community has made example modules and how-to guides to help you understand how to implement hooks, admin grids, manage entities… and a lot more.

Example modules

This repository hosts example modules built and maintained by PrestaShop. These modules demonstrate usecases useful for developers willing to customize the software.

Modules list

Module name Description Minimum version
api_module This example module demonstrates how to modify PrestaShop’s new API. v9.0.0
demo_grid This module demonstrates how to use Grid in PrestaShop 1.7.7+ v1.7.7
democonsolecommand Example module showing how to implement a Symfony console command v1.7.7
democontrollertabs Demo Creating modern Controllers and associate Tabs to them v1.7.7
demodoctrine This module demonstrates how to use Doctrine entities in PrestaShop 1.7.7 and above v1.7.7
demoextendgrid This module demonstrates how to insert an additional row action to existing grid and how to register javascript in admin controller v1.7.7
demoextendsymfonyform1 Learn using identifiable object and grid hooks. v1.7.6
demoextendsymfonyform2 This module demonstrates how to insert an “upload image” input field inside the Symfony form managing “Edit a Supplier” page and how to use DoctrineORM to manage the database state of a custom object v1.7.7
demoextendsymfonyform3 This example demonstrates the usage of CQRS pattern and hooks v1.7.6
demoextendsymfonyform4 This example demonstrates the usage of CQRS pattern and hooks v9.0.0
demoextendtemplates This is example module explaining various extendability options of templates v8.0.0
demoformdataproviders This module illustrates FormDataProviderData and FormDataProviderDefaultData hooks v8.0.0
demojsrouting This module illustrates how to use Javascript Router component in a module v1.7.7
demomoduleroutes This module illustrates using the moduleRoutes hook in a module. v8.0.0
demomultistoreform This module demonstrates how to make your forms multistore compatible in your module, in a CRUD context. v1.7.8
demooldproductpagehooks This module illustrates the hooks on the old product page. v1.7.8
demooverrideobjectmodel Example module showing how to override an ObjectModel (in this case the manufacturer) and add a custom field in the database table. v1.7.7
demoproductextracontent Example module to add extra content to the product page on the front office v1.7.0
demoproductform This is an example module explaining various extendability options in product page form v8.1.0
demoproductform2 This is an example module explaining various extendability options in product page form v9.0.0
demosymfonyform This module demonstrates how to use existing PrestaShop Symfony form types inside a new page. v8.0.0
demosymfonyformsimple In this module, you will learn how to utilize Symfony form types to create configuration pages for your module. This module has been created by following a guide from the developer documentation. v8.0.0
demovieworderhooks This module was created in order to demonstrate how to use the new hooks introduced with the new “View an Order” back office page in PrestaShop 8.0.0 and below. v1.7.7
demowsextend This module adds a resource managed by ObjectModel to the WebService. v1.7.8
example_module_mailtheme Example module to add a Mail theme to PrestaShop. v1.7.6