Logo Prestashop

En B2B, vous êtes souvent amenés à créer de nombreux groupes de clients sur Prestashop.

Dans ce contexte, vous avez remarqué le comportement par défaut de Prestashop, lorsque vous créez un nouveau groupe de clients, qui affecte tous les moyens de paiement existants comme actifs à ce nouveau groupe.

C’est souvent une contrainte, puisque dans un contexte B2B, on peut avoir de nombreux moyens de paiement disponibles, mais on ne souhaite que quelques-une activés par défaut.

Si vous rencontrez aussi cette problématique, voici comment faire pour ne pas activer certains modes de paiement par défaut lors de la création d’un nouveau groupe de clients.

Dans mon exemple, je suis sur Prestashop 1.7.7, des différences peuvent exister selon les versions.

La Class Group

Tout se joue au niveau de la class Group, qui détermine la définition d’un nouveau groupe de clients.

Téléchargez ce fichier depuis le dossier /classes/.

On va réaliser un override, pour ne pas modifier ce fichier directement mais créer un comportement qui s’appliquera en priorité.

Le plus simple est de partir du fichier d’origine, qu’on va modifier.

  1. Connectez-vous à votre base de données, et repérez dans la table ps_module l’identifiant des modes de paiement que vous ne souhaitez pas activer par défaut (dans mon cas 13 et 59).
  2. Ouvrez votre copie en local du fichier Group.php.
  3. Au niveau de la class (ligne 26 pour moi), remplacer par ‘class Group extends GroupCore’
  4. Ne gardez que la fonction ‘addModulesRestrictions’, ligne 322 pour moi
  5. Repérez la ligne suivante: foreach ($modules as $module) {
  6. Ajoutez après cette ligne les lignes suivantes:
    if ($module == ’13’ || $module == ’59’) {
    continue;
    }
    (en remplaçant évidemment 13 et 59 par les ID de vos modules de paiement)
  7. Uploadez ce fichier dans le dossier /override/classes/ et le tour est joué !

Contactez-moi pour toute question

Dans la même catégorie