Defining our module design
Let’s follow our usual design process: we want to create a light blogging module for our PrestaShop website.
This blog is made of posts composed of a localized title and content. Each post can contain uploaded images in JPEG or PNG, and every post can be displayed in an FO controller to look like the following:

Figure 11.1 – The post FO controller appearance
Each post can be linked to one or many post categories. A post category is made of a title localized field. Every category displays the list of posts linked to it as follows:

Figure 11.2 – The category FO controller appearance
A home blog FO controller will display the three latest published posts like this:

Figure 11.3 – The home blog FO controller appearance
In the BO, the module comprises a creation/edition form for posts. The following screenshot shows how edition forms can be displayed...