Mise en place d’un site multiboutique sur prestashop 1.5

Publié le 04 juillet 2013 par Webpulser_team @WebpulserDev

La sortie de la version 1.5 de prestashop était très attendue par la communauté pour son ajout de la fonctionnalité multiboutique. Cette fonctionnalité, très pratique, permet de gérer plusieurs boutiques via un unique back-office.

Les fonctionnalités ou propriétés peuvent être modifiées par boutique, par groupe de boutiques ou pour l’ensemble des boutiques.

A partir de quel moment doit-on se poser la question du multiboutique ?
Si vos besoins sont uniquement guidés par une différence visuelle, la réponse est un grand NON. Dans ce cas, créer un nouveau thème répondra à votre besoin.
En revanche, si vous désirez gérer le même catalogue de produits différemment entre plusieurs boutiques, la réponse est probablement oui.

Le multiboutique de prestashop permet un large choix de personnalisations. Voici un échantillon choisi de ce que peut ou ne peut pas faire le multiboutique prestashop :

  • ce que peut faire le multiboutique :
    • gestion des produits par boutique: prix, déclinaisons, catégories et stocks différents
    • gestion des clients : un client pourra partager le même compte sur toutes les boutiques
    • différencier les pages cms, le choix des langues et des transporteurs selon les boutiques
    • avoir un thème différent ou commun selon les boutiques
    • gestion des modules : installer ou greffer différemment un module selon la boutique
    • gestion des employés : autoriser ou non les employés à accéder aux différentes fonctionnalités des boutiques
    • un seul back office pour toutes les boutiques
    • avoir un nom de domaine différent par boutique
  • ce qu’il ne peut pas faire :
    • gestion des réductions par groupe de boutiques
    • configuration des modules différentes selon la boutique
    • urls personnalisées différentes par boutique

Pour avoir une idée plus précise des possibilités offertes par le multiboutique, n’hésitez pas à consulter le tableau récapitulatif de la documentation officielle de prestashop

CONFIGURATION

Lors de mes premiers tests de mise en place du multiboutique, j’ai trouvé très peu (voir aucune…) informations complémentaires à la documentation officielle. Cette dernière représente un bon point de départ mais ne soulève pas les erreurs de logique que l’on peut rencontrer. Je vais donc détailler une procédure d’installation complète.

Petite mise en garde avant de vous lancer dans l’aventure : une fois mise en place, il ne sera plus possible de faire chemin inverse !

La première étape est l’activation du multiboutique dans le back office. Cela se fait très simplement en cochant activer le multiboutique dans préférence / générale, puis en sauvegardant. Une fois ceci fait, on remarque la présente d’un select sur l’ensemble du back office. Il permet de sélectionner la boutique sur laquelle apporter des modifications.

Pour créer une nouvelle boutique, il faut se diriger vers Paramètres avancés / multiboutique. Dans cette section, on peut soit créer un groupe de boutiques ou une boutique.

Nous allons tout d’abord créer un groupe. Un groupe est un ensemble de boutique . Il permet de modifier plusieurs boutiques en une seule fois.
Dans un groupe, si on active le partage de clients et de commandes, c’est irrémédiable. Le partage de produit ne l’est pas. Cependant lorsqu’il est activé, il remet tout les stocks à 0.

Nous pouvons ensuite créer la boutique. Cette nouvelle boutique sera virtuelle. En effet, il ne faut pas installer physiquement une nouvelle boutique et l’associer. Cette boutique et toute ses propriétés seront enregistré dans la base de données de la boutique existante.

La première étape consiste à choisir son nom, sa catégorie parente et son groupe. On peut également choisir les catégories existantes partagées avec cette boutique et changer son thème. On peut également importer les données d’une autre boutique.

La seconde étape consiste à configurer l’url. Pour cela, dans le menu de gauche, il faut dérouler le menu de la boutique et cliquer sur l’url. La configuration ne change pas par rapport à une boutique traditionnelle.

Voilà, c’est terminé ! Vous avez à présent un site multiboutique exploitable.

TIPS DEVELOPPEUR

  • Le FrontController sait reconnaître sur quelle boutique il se trouve via la variable de contexte shop (introduit ci-après). On peut ainsi faire fonctionner différemment un contrôleur en fonction de la boutique où le client se trouve. La variable shop est une instance de la classe Shop
  • Il est possible d’adapter le tunnel de commande par boutique grâce à l’utilisation de la variable de contexte shop. D’une manière plus simple, on peut également définir le type du tunnel de commande pour chaque boutique (one page checkout ou 5 pages checkout). Dans cet ordre d’idée et avec un peu de programmation, il est possible de rajouter des tunnels de commandes personnalisés.

Rappel : La variable de contexte est un conteneur ajouté dans prestashop 1.5. Elle nous permet d’accéder à diverses informations comme : la langue, le pays, la monnaie, le magasin, le panier ou le client.  (ex : $this->context->shop->id dans un contrôleur)