This documentation is currently being worked on. Until the stable version of PrestaShop 1.5 is released, it should not be seen as definitive.

Table of content

Managing Modules

PrestaShop 1.5 comes bundled with over 110 modules that can be installed/uninstalled and configured as desired, in order to customize and complete your shop.

The range of actions is virtually unlimited: the extensibility of PrestaShop makes it possible to turn your shop into exactly what you intend it to do, instead of you having to comply with constraints that you didn't choose – provided you can find the module that does exactly what you need.

Modules

The "Modules" page under the "Modules" tab gives you access to the list of modules. On this page you can install, uninstall, and configure each module.

Above and below the page title, you will at times get notifications from installed modules. Most of the time, the notification help you complete the configuration of modules that are installed but not yet ready to be used: updating their setting should make the notification disappear... and your module work properly.

Above the table of modules are two buttons, titled "Normal view" and "Favorite view". They radically change the way modules are listed.

Normal view

This is the default you. It enables you to quickly find the module you want to install or edit the settings of.

The first section is where you can search for a specific module, or filter down module until you find the one you are looking for.

On the left is a list of all the categories, with the number of modules in brackets. Click on a module category in order to filter the displayed module.
One of the categories is named "Favorites" and is empty by default. This serves as a quick way to access the modules you most often need to access to. You can set your favorite modules using the "Favorites" view.

Modules can have one of 4 statuses, each with specific color:

Most of the time, warnings are a reminder that you haven't properly configured the module. Click their "Configure" link and go through the various needed steps.

When you do not have a use for a module anymore, you can either disable or uninstall it. The result of both actions is the same: the module is not available anymore, its options do not appear in your back-office and any element it would add to your front-end disappears.

The difference is that disabling a module keeps its configuration safe for a later re-enabling, while uninstalling removes all configuration and database data.

Therefore, only uninstall a module if you do not care about its data or if you are certain that you would not need it. If you are really sure you do not want that module on your shop, you can even click on its "Delete" link.

Favorite view

This view gives a whole different presentation of your modules: gone is the list of category selectors, the install/uninstall buttons and the action links. This view gives an alphabetical list of all your modules, both installed or not, their categories in plain text and two drop-down menus:

Since these can be two contradictory settings, mixing them can result in unexpected results. They remain quiet logical: in short, "Interest" surpasses "Favorites".

Interest

Favorite

Appears in module list?

Appears in "Favorites" category?

Yes

Yes

Yes

Yes

No

Yes

No

No

Yes

No

Yes

No

No

No

No

No

You cannot perform any other action on the available modules using this view: installing, configuring, etc.

Performing Actions On Modules

All actions are performed in the normal view.

Configuring The Native Modules

All the native modules are explained in depth in their own chapter, "Making The Native Modules Work".

Modules And Themes Catalog

PrestaShop comes bundled with a host of modules, but even that number might seem limiting, or you could want to explore other directions.

There are many more modules available on the PrestaShop Addons website (http://addons.prestashop.com/). Some are free, others are for-pay, and you're sure to find something that suits your needs! Once you are a seasoned module developer/theme designer, you can even submit your own creations, and sell them on Addons!

The "Modules & Themes Catalog" page gives you a quick and easy access to the online Addons database of modules and themes. Its interface is pretty straightforward:

A search query will return the 5 first results from Addons, with more available if you click on the "View all results on addons.prestashop.com" link at top of the results.

Clicking on an item will open its Addons page in a new browser tab.

Addons is the official marketplace for PrestaShop Modules and Themes. This is where shop owners can get all the necessary items to customize their shop, and where authors can share their creations with the community.

Modules and themes can either be free or for-sale: the price is set by the author. Take the time to browse the available modules and themes, because expensive doesn't always mean better.

You must be logged-in before you can download or rate anything. Creating an account is free.

Installing modules

Once you have downloaded a module from the Addons online shop to your computer, it's up to you have it installed on your PrestaShop site.

There are two ways to install a module: either using the dedicated form, or using your FTP client.

Installing using the dedicated form

To install a new PrestaShop module automatically, click on the "Add a module from my computer" link at the top of the list of modules. A new section will slide open.

The form in this section enables you to upload the archive file of the module, as downloaded from Addons. You can either upload a zip file, or a tar.gz one (tarball). The form is straightforward: simply browse to the module's file that you downloaded, and click the "Upload this module" button. Do not point to the module's folder or any of its unpacked files!

In previous version, you could upload the module's zip file on your FTP server and point the form to that file's URL.
This feature has been taken out of PrestaShop 1.5 for security reasons.

Once you have clicked the button, PrestaShop will upload the module from your computer to its server, unpack it, place the files in the correct location, and update the page, all this in a handful of seconds. PrestaShop will then display "Module downloaded successfully".

Modules are not installed by default: you still have to click the module's "Install" button, and then possibly configure its settings.

Once configuration is complete, be sure to test the module immediately to confirm that it works as planned.

Installing using an FTP client

To install a new PrestaShop module manually:

  1. Unzip (decompress) the module archive file (.zip or tar.gz). This should result in a new folder.
  2. Using your FTP client, connect to PrestaShop web server, and place the unpacked module folder in PrestaShop's /modules folder.
    Pay attention NOT to upload that folder in another module's folder (which can happen when drag-and-dropping items). Upload both the folder and the files it contains, not just the files.
  3. Go to your back-office, in the "Modules" tab.
  4. Locate the new module in the modules list. You might have to scroll down; you can also use the list's search engine, which should give you a dynamically updated list of matching module names.
  5. In the row for the new module, click the "Install" button.
  6. Your module is now installed and should be activated too. If necessary, click on the module's "Configure" link. Also, pay attention to any warning message that might be displayed by PrestaShop.

Once configuration is complete, be sure to test the module immediately to confirm that it works as planned.

Updating a module

Your PrestaShop installation regularly checks with the Addons server if there is any update for your modules. If so, PrestaShop displays a "Update" link for the affected modules. Simply click, and PrestaShop will take care of downloading and updating the module.

Uninstalling a module

Do not ever delete a module by directly trashing its folder using your FTP client! You must let PrestaShop take charge of it;

When you need to temporarily stop using a module, but still wish to keep its configuration, you can simply disable it: just click on the "Disable" link. The actions will turn into "Enable" and "Delete", but the "Uninstall" button can still be seen.

If you do not care about the module's configuration, click on the "Uninstall" button: your module's folder will still be in the /modules folder, but the module will not have any impact on your shop anymore.
If you wish to entirely remove the module from your server, click the "Delete" link: PrestaShop will get rid of its folder and all its files.

Make sure that the disabling or removal of the module does not break the theme.

Positions

A modules can have to aspects: one on the back-office (its options, or even a configuration screen), and one on the front-office. The front-office view is how and where the module is displayed within your shop's theme.

The position of a module in your theme can be changed, because you might want one module to be placed much higher (or lower) in the page that others. In PrestaShop's parlance, this is called "transplanting", and is done using the tool available in the "Positions" page, under the "Modules" tab. In effect, this enables you to attach a module to one of the many available hooks in the current theme, without writing any code.

The "Positions" page displays all the available hooks, and their attached modules. Many are empty by default, but some of the most useful ones have a dozen of modules (the Header hook has 27 by default).

At the top of the page, a drop-down menu enables you to only display the hook in which you are interested.
By default, this page only displays the hoobs on which you can position functions. Checking the "Display non-positionable hooks" box below displays all the hooks, even those where you cannot position something.

The header of the table for each hook displays the hook's name, its technical name (and for some, a quick description), and its number of attached modules. The table lists the modules that are attached to that hook.

The modules are displayed in the order in which they appear in the hook.

Moving a module

You have two ways of moving a module within a hook:

For most modules, transplantation can easily be done directly via the back-office. Certain modules require altering the code in order to transplant the module.

Removing a module from a hook

Transplanting a module via the back-office

  1. Go to the "Modules" tab, and its "Positions" sub-tab.
  2. Click the "Transplant a module" link.
  3. In the "Module" drop-down menu, select the module you want to transplant.
  4. In the "Hook Into" drop-down menu, select where you want to transplant the module to.
  5. In the "Exceptions" field, type the name of the file(s) of the pages in which you do not want the module to appear.
  6. Click the "Save" button.

The "Hook Into" drop-down menu gives you a good idea where module can be placed.

Transplanting a module by modifying its code

Some modules cannot be transplanted into other page sections because they lack the necessary code. For example, the Quick Search block contains templates for both column display and header display, while the Currencies block only has one template file which only pertains to the header section. Likewise, the default Featured Products block can only be placed in the center content section of the main page. If you want to move it to a column, you'll have to do the customization yourself.

If you want to display simpler modules such as the Currencies block or the Featured block in a position for which it wasn't built, you'll have to edit its template files.

To customize the transplantation of a module on a hook, you must give it the PHP function for the hook. For example, the Currency block has this function exists:

function hookTop($params)
  {
  ...
  }

In order for instance to transplant the Currency block into the right column, you need to create:

function hookRightColumn($params)
  {
  ...
  }

...and edit its PHP, HTML and CSS code accordingly.

Live Edit

Another way to move modules around on the shop's homepage is the Live Edit mode, which embeds said homepage into a tool that lets you graphically decide where to place your modules. You can access it from the "Position" sub-tab, by clicking the "Run LiveEdit" button.

Once clicked, PrestaShop opens the homepage in a new browser windows/tab, with the Live Edit script on top:

At the bottom of the Live Edit mode, a row presents you with two buttons: "Save" and "Close Live Edit".

The first one is quite self-explanatory; the second one cancels all changes you might have made to your modules during this live-editing session. Note that once you have clicked after having removed a module, you'll have to go to the "Positions" sub-tab and use the "Transplant a module" form in order to bring it back.

Where to move modules

Modules cannot be moved just about anywhere: it depends on both the theme's hooks, and each module's hook support (as seen in the above section). Therefore, you mostly can only move modules within their understood context: column modules can be moved within a column as well as from one column to the other (right to left, for instance), while regular homepage modules (the ones at the center) can only be moved within their specific column.

In order to give you a visual hint about where a given module can be moved, it will display an empty green block if the location is correct, and an empty red block if not.

Payment

With PrestaShop, you can accept your customer's transactions through several different payment methods, such as checks, bank wire, cash on delivery, Google Checkout, and some partner modules such as Hipay, Moneybookers, and PayPal. They are already included in your store and are ready to be used. However, it is necessary to configure them.

Installing a payment module

Let's install the "Cash on delivery" module. You first need to access the list of payment modules. It is of course accessible via the "Modules" tab, under the "Payments and Gateways" section, but you also have a shortcut from within the "Payment" tab: just click on the appropriate button at the top of the page!

This button will send you directly to the correct module section. Here is the full list of payments modules included in the default PrestaShop install.

Find the "Cash on delivery (COD)" module in the list (third row). To install it, you just need to click on the "Install" button.

Payment Module Restrictions on Currencies

When in the "Payment" tab, you can see the following section:

As you can see, depending upon the payment, the customer's choice of currency will differ:

Another option is that you can only accept payment with the store's default currency (which you can set in the "Payment" tab, "Currencies" sub-tab, "Currency options" setting).

Payment Module Restrictions on Groups

You can limit the choice of payment method depending on the group of customers.

For instance, let's say you would prefer that individuals pay with PayPal, Moneybookers and Hipay, while professionals only pay by bank wire. Depending on the type of customer and on your choices, customers will only pay using the methods that match with your decisions.

Payment Module Restrictions on Countries

You can limit the choice of payment methods according to your customer's country of origin. For instance, in France, Spain, and Germany, you can accept all payment methods, while customers in Italy, the United Kingdom or Switzerland can only pay by bank wire.

The choice of payment modules according to country is found under the "Payment" tab, in the "Countries restrictions" section.

Find the country in the alphabetical list, and check the boxes to select or deselect the payment methods you want to make available to customers from that country. Once all of your settings have been configured, click on the "Save restrictions" button, found at the bottom of the table.