Tabla de contenidos

Gestionar varias tiendas

One of the main features of PrestaShop 1.5 is called "multistore", meaning the ability to manage multiple shops from the same back-office.

Thanks to this feature, you can manage many customized shops, which share many common elements. For more efficiency, you can even create groups of shops.

How to decide if you need the multistore feature

You may find yourself wanting to use the multistore feature, when in fact it is not necessary. For instance, if you want a multilingual shop, or if you need to use more than one currency, or if you would like to have a different graphic template for each category.

Here are two questions that you should ask yourself before deciding to enable the multistore feature:

  1. Do you want your shops to have a different price for the same product (besides special discounts for a client or group of clients).
    If the answer is 'yes', then you need to use the multistore feature.
  2. When a client buys from one shop, would you want him or her to not have access that shop's order history and invoices from the other shop (even if the client have the same login credentials on both shops).
    If the answer is 'yes', then you need to use the multistore feature: the shops will not share their carts and orders, and customers putting items in their cart for shop 1 will not see these items in their cart for shop 2.

If the answer is 'no' to both questions, then the multistore feature is not for you.

One back-office to rule them all

When the multistore feature is enabled for your PrestaShop 1.5 installation, many aspects of PrestaShop become customizable on a per-shop or per-shop-group basis.

In the following table, we indicate if the item can also be customized for a single shop, for a group of shops, or for all shops at once.

Item

Per shop

Per shop group

All shops

Employees

X

X

X

Customer groups

X

X

X

Products

X

X

X

— Prices

X

X

X

— Combinations and prices

X

X

X

— Languages

X

X

X

— Multiple images (except for the main image)

X

X

X

— Available quantity for sale, provided that:

  • The "Share quantity available for sale" option is checked for the group,
  • The group does not share its quantity available for sale outside of the group.

X

X

 

— All other information (description, tags, friendly URL, etc.)

X

X

X

Catalog values and attributes

X

X

X

Discounts: cart rules

X

 

 

Discounts: catalog price rules

X

 

 

Taxes: tax rules

X

X

X

Categories (except for the main image)

X

X

X

Carriers

X

X

X

Warehouses

X

X

X

Advanced stock management

X

 

 

Suppliers

X

X

X

Manufacturers

X

X

X

CMS pages

X

X

X

Contacts

X

X

X

Countries
A country's status (enabled or disabled) is common to all shop it is associated to.

X

X

X

Currencies

X

X

X

Languages

X

X

X

Modules

X

X

X

— Hooks and exceptions

X

X

X

— Enabling/disabling

X

X

X

— Configuration (for instance, Paypal login credentials)

X

 

 

Payment modules

X

X

X

— Per-country restrictions

X

 

 

— Per-currency restrictions

X

 

 

— Per-customer group restriction

X

 

 

Friendly URLs

X

 

 

Scenes

X

X

X

Web service account

X

X

X

Homepage image slider

X

 

 

Categories: A product can only appear in a given category of a shop if it has been associated to this category in that shop's context. In other words: if shop A and shop B have the C category in common, we can associate the P product to the C category for the A shop's context, and P will not appear in category C on shop B.

Carriers: You can manage the carriers association on a per-shop basis, a per-shop-group basis or for all shops; but you cannot customize a carrier on a per-shop basis. You must duplicate the carrier if you want to use the same carrier with different price ranges on two shops.

Warehouses: While advanced stock management can only be used for a single shop at a time, warehouses can be used with shop groups, and you can simply manage the warehouses in order to have advanced stock management.

For each shop, you can set specific price for every products, share part of the catalog or the whole of it, change product images, etc.

You can choose to share the customer accounts between your shops, enabling your customers to use the credentials between all shops, and even be transparently signed-in to each.

With advanced stock management, you can do a fine-grained management of the associations between yours shops and your warehouses.

Using the multistore feature

Enabling the feature

Turning your single-shop PrestaShop installation into a multi-shop one is very simple:

  1. Log-in to your shop's administration.
  2. Go to the "Preferences" menu and select the "General" page.
  3. Find the "Enable multistore" option, select "Yes".
  4. Save your changes.

There you go: the multistore feature is now in place, starting with the addition of the "Multistore" page under the "Advanced parameters" menu. This is the page were you will manage the various shops created with this PrestaShop installation.

The multistore interface

The "Multistore" page comprises three mains sections:

Creating a new shop group

Having shop groups enables you to share certain characteristics between the shops in that group: catalog, employees, carriers, modules, etc. It allows you to manage a set of shops as easily as you would a single shop, while still being able to fine-tune the details of each shop manually.
Applying new parameters to all the shops in a group only requires a single action. When in multistore mode, a drop-down menu is available on most of the administration pages, and enables you to filter your changes by shop or shop group.

 

Technically speaking, when selecting a shop group in the multistore drop-down menu, the displayed entities reflect the union of the entities pertaining to the shops in that group.

Generally speaking, parameters are applied to all the entities belonging to the selected entity in the multistore drop-down menu. This is explained in details later in this chapter.

Clicking the "Add new shop group" button brings a form with few options but a lot of text: you should make sure to read each description from beginning to end, as they help you make a decision about these options. Since some are non-reversible (you cannot disable them once they are enabled), it is important to know exactly what you enable.

The available settings are:

Two shop groups cannot share customers, carts or orders.

Existing shop groups can be edited from the shop groups list on the "Multistore" front page: simply click on the 'edit' icon on the right of the shop's row to open the form. As expected, you cannot edit the "Share customers" and "Share orders" options.

Creating a new shop

The shop creation tool, located in the "Multistore" page, enables you to simply and precisely define both the front-office appearance of your shop (namely, its theme) and the elements you wish to import from your main shop into this new one.

Clicking the "Add new shop" button opens brings a form with two sections. The first one has 5 options:

The second section, "Import data from another shop", is where you define which data of the main shop you want to use as the data of this new shop.

It has two options:

When you create a product in a new shop and that product already exists in another shop, PrestaShop will try its best to suggest the existing product, so that you will not have to recreate everything.

When saving the shop, PrestaShop warns you that it does not yet have a URL. Click on the red warning to add one (see below).

Setting a shop's URL

Each shop can have its own URL – or even several URLs – entirely independent from the main shop. You must define at least one URL for each shop.

Do not create any URL manually, either on your server or your computer: PrestaShop takes care of creating the URL for you on your server. When accessing this URL, PrestaShop will direct visitors to the correct store automatically.

Two shops cannot share the same URL. If you try to give a new shop a URL that is already in use by another shop, PrestaShop will display an error.
On the other hand, you can have as many shops on one domain name as you want:

To add a URL to shop, select the shop in the "Multistore tree" selector, and then click on the "Add new URL" button. PrestaShop will load a screen with two sections and eight options:

Sample usages

Managing a catalog in multistore mode

In multistore mode, some of the PrestaShop administration pages feature a prominent drop-down menu, titled "Multistore configuration for". This menu gives you the context of what you are doing: it enables you to set the shop or shop group to which the changes you are making are to be applied.

For instance, when creating a new product, the selection in this menu will determine whether the product will be available for all shop, only one shop group, or a single shop.

When editing a product, PrestaShop displays notifications to help you understand the scope of your changes. For instance, when editing a product while in the "Shop A" context, the notification will say "Warning, if you change the value of fields with an orange bullet, the value will be changed for all other shops for this product", with said orange bullet appearing on all the implicated fields, such as "Type of product", "Reference", the package's size, etc.

Likewise, if you change a product while in the "All shops" context or in the context of a shop group, some fields will be disabled: since they have a global impact, you cannot edit them. If you really need to edit this content, each field has a box that you can check to edit that field in all the shops under this context.

If you edit a disabled field, the product is created in all the shops of the context which do not already have it in their own catalog. Make sure to double check your context.

Data exchange between stores

Duplicating data between stores

Duplicated data in PrestaShop are set during the setup of any individual shop, by importing all or some of the content from an existing shop into the new one. The content that can be imported is varied: products, categories, employees, modules, cart rules, suppliers, etc. Data importation is done once and for all: once a store has been created, you cannot easily import data again from another store.

Sharing data between stores and store groups

Stores can share data. Shared data are fundamentally handled at the store group level: one of the important things to understand when dealing with PrestaShop's multistore mode is that all the stores within a store group can share the same details share data – or more precisely, three types of content: customers, available quantities, and orders. Once the store group is set, the sharing of data between its stores is mostly finished: while you can change the setting for the available product quantities, you cannot change the customers and orders settings anymore as soon as any store within the group as at least one customer or one order.

Sharing products and categories

When you create a new store within a group, you can choose to have all or some of the categories in the new store be exact duplicates of the categories in any other store on your installation of PrestaShop.

When creating a category, either for a specific store or for all the stores in the PrestaShop installation, PrestaShop registers the category for all the stores – it is simply hidden from any store where it has not been set.

By associating the new stores with a given category, any change in this category will impact all the stores which are associated with it, even if the stores are from different store groups. You can therefore change the category's content once and for all from one place, including its products.

Sharing customers and customer groups

As indicated above, stores within the same store group can share clients: all you have to do it set the proper option when creating the store group.

Groups are less detailed: if you change one of the default customer group in one store, the change is applied to all the other stores, regardless of the store group.

If you want to have different customer group for each store, you must create a new group and use the "Multistore configuration for" selector to associate the group with the current store or store group.

Using a different theme for each shop/shop group

To install a theme on PrestaShop, you must use the "Theme Import/Export" module to import the theme's zip file. Once that file is uploaded, the module will ask you some module-specific questions. When in multistore mode, it will also ask you whether you want to enable this theme with all stores in your PrestaShop installation, only some store groups, or only some specific stores – with the current stores being already selected. The theme will still be available for the non-selected stores, but will be disabled.

This setting can be changed: once a theme is installed on your PrestaShop, you can use the "Themes" page in the "Preference" menu to change the theme of the current store, or of the current store group, depending on how the "Multistore configuration for" selector is set.

Using specific settings for each shop/shop group

"Multistore configuration for" selector is the go-to option when you want your changes to have an impact on a given store or set of stores. It should even be the first option to look at when an administration screen opens up, as PrestaShop will change the available options depending on the context you are in: store, store group or all stores.

This makes it possible for you to:

Managing CMS pages in multistore mode

When viewing the list of CMS pages in the "All shops" context, all the CMS pages from all shops are displayed. Likewise, when in a shop group context, the pages for all the shops in that group are displayed.

When creating a page in a shop group context, all the shops in this group will display this page, yet the page will be unique: editing it in one shop will apply the changes in all the shops from this group.
On the creation page, a section appears with a list, indicating which ones will be impacted.

Managing discounts in multistore mode

When creating cart rules or catalog price rules in a multistore context, an additional condition is available, with which you can choose the shops on which the rule should be available.

Web-service and multistore

Access to the web-service is also highly configurable, both at the shop level and at the shop group level. When creating a web-service key, you can choose to associate it to all shop, some shop groups, or select shops.