Book Image

Practical Module development for Prestashop 8

By : Louis AUTHIE
Book Image

Practical Module development for Prestashop 8

By: Louis AUTHIE

Overview of this book

After version 1.7, PrestaShop underwent a host of changes, including migration to a Symfony-based system from an outdated legacy code. This migration brought about significant changes for developers, from routine maintenance to module development. Practical Module Development for PrestaShop 8 is curated to help you explore the system architecture, including migrated and non-migrated controllers, with a concise data structure overview. You’ll understand how hooks enable module customization and optimize the CMS. Through the creation of seven modules, you’ll learn about the structure of modules, hook registration, the creation of front-office controllers, and Symfony back-office controllers. By using Doctrine entities, services, CQRS, grids, and forms, you’ll be guided through the creation of standard, payment and carrier modules. Additionally, you'll customize and override themes to achieve your desired e-commerce store look. By the end of this book, you’ll be well equipped to provide modern solutions with PrestaShop that meet client requirements.
Table of Contents (23 chapters)
Part 1 – Understanding How PrestaShop is Structured and How It Works
Part 2 – How to Create Your Own Modules
Part 3 – Customizing Your Theme
Appendix – Module Upgrade, The Hooks Discovery Tool, and Multi-Store Functions

Testing our module

Our module is now ready for testing. If you want to download it, it is still available on the GitHub repository of the book at this URL:

Let’s install the module by browsing to the Modules | Module Manager page of your PrestaShop BO. Search for your Reinsurance block module inside the Design & Navigation section and click on the Install button. After the success toast message appears, go to any page of the FO of your PrestaShop, and you should see your new module in the footer. This is exactly what we wanted.

Keep in mind that a module is installed by default at the last position in the list of modules registered to a hook. That’s why you should find your module at the bottom of the hookDisplayFooterBefore hooked modules. If you want to change the order of the modules triggered by a hook, just browse to the Design | Positions...