⚙️ ConfigurationDébutant PS 1.6 PS 1.7 PS 8.x

Supprimer ou désactiver l'opt-in partenaires sur PrestaShop

Comment supprimer la case opt-in partenaires sur PrestaShop 1.6, 1.7 et 8.x : configuration back-office, modification template et bonnes pratiques RGPD.

En bref : L'opt-in partenaires se désactive dans Paramètres de la boutique → Clients. Si la case persiste malgré la désactivation, vérifiez le cache Smarty, les overrides et le template du thème — sur PrestaShop 8.x, un hook Symfony permet aussi de retirer le champ proprement via un module.

Publié le 21 mars 2026 5 min de lecture Alexandre Carette

Comprendre l'opt-in partenaires dans PrestaShop

PrestaShop intègre nativement une case à cocher « Recevoir les offres spéciales de nos partenaires » sur les formulaires d'inscription et de gestion de compte client. Cette option, appelée opt-in partenaires, permet au marchand de collecter le consentement des clients pour l'envoi de communications commerciales tierces.

Dans la pratique, de nombreux e-commerçants souhaitent supprimer cette case : soit parce qu'ils n'ont aucun partenaire commercial, soit pour simplifier le tunnel d'inscription, soit — et c'est la raison la plus fréquente depuis 2018 — pour se conformer au RGPD en limitant la collecte de consentements inutiles.

Méthode 1 : désactiver l'opt-in depuis le back-office

Avant toute modification de code, vérifiez que l'option n'est pas simplement activable/désactivable dans la configuration.

PrestaShop 1.7 et 8.x

  1. Rendez-vous dans **Paramètres de la boutique → Clients**
  2. Dans la section « Inscription », cherchez l'option **« Activer les offres partenaires »**
  3. Passez-la sur **Non**
  4. Enregistrez
  5. Cette manipulation suffit dans la majorité des cas. Le template natif conditionne l'affichage de la case via la variable $optin : si l'option est désactivée, la case disparaît automatiquement.

    PrestaShop 1.6

    Sur les versions 1.6, le réglage se trouve dans Préférences → Clients → Activer l'opt-in partenaires. Le principe est identique.

    Méthode 2 : corriger un affichage persistant malgré la désactivation

    Il arrive que la case reste visible même après désactivation dans le back-office. Ce comportement est généralement causé par l'une de ces situations :

    • **Un thème personnalisé** qui ne respecte pas la condition `{if isset($optin) && $optin}` dans ses templates
    • **Un override** du contrôleur ou de la classe `Customer` qui force la variable à `true`
    • **Un cache Smarty non vidé** qui affiche encore l'ancienne version du template

    Étape 1 : vider les caches

    Commencez par vider le cache Smarty :

    
    # Supprimer le cache des templates compilés
    rm -rf var/cache/prod/smarty/compile/*
    rm -rf var/cache/prod/smarty/cache/*
    
    # Sur PrestaShop 1.6
    rm -rf cache/smarty/compile/*
    rm -rf cache/smarty/cache/*
    

    Rechargez la page. Si la case a disparu, le problème était simplement un cache obsolète.

    Étape 2 : vérifier les overrides

    Si le problème persiste, inspectez le dossier override/ à la racine de votre boutique :

    
    override/
    ├── classes/
    │   └── Customer.php       ← vérifier ici
    └── controllers/
        └── front/
            ├── AuthController.php
            └── IdentityController.php
    

    Un override de la classe Customer.php ou des contrôleurs AuthController / IdentityController peut forcer l'affichage de l'opt-in indépendamment du réglage back-office. Examinez ces fichiers et supprimez ou corrigez toute logique qui assigne $optin = true de manière inconditionnelle.

    Après modification d'un override, supprimez le fichier d'index des classes :

    
    # PrestaShop 1.7 / 8.x
    rm var/cache/prod/class_index.php
    
    # PrestaShop 1.6
    rm cache/class_index.php
    

    Étape 3 : modifier le template du thème

    Si aucun override n'est en cause, le thème lui-même peut être responsable. Localisez le template d'inscription ou de gestion de compte :

    PrestaShop 1.6 :

    
    themes/votre-theme/identity.tpl
    themes/votre-theme/authentication.tpl
    

    PrestaShop 1.7 / 8.x :

    
    themes/votre-theme/templates/customer/registration.tpl
    themes/votre-theme/templates/customer/_partials/customer-form.tpl
    

    Recherchez le bloc opt-in. Sur PrestaShop 1.6, il ressemble à ceci :

    
    {if isset($optin) && $optin}
        <div class="checkbox">
            <label for="optin">
                <input type="checkbox" name="optin" id="optin" value="1"
                    {if isset($smarty.post.optin) && $smarty.post.optin == 1}
                        checked="checked"
                    {/if}/>
                {l s='Receive special offers from our partners!'}
            </label>
        </div>
    {/if}
    

    Si la condition {if isset($optin) && $optin} est absente ou mal écrite, la case s'affiche systématiquement. Vous avez deux options :

    Option A — Commenter le bloc avec la syntaxe Smarty :

    
    {* Opt-in partenaires désactivé
    {if isset($optin) && $optin}
        <div class="checkbox">
            ...
        </div>
    {/if}
    *}
    

    Option B — Supprimer entièrement le bloc (recommandé si vous n'utiliserez jamais cette fonctionnalité).

    Bonne pratique : travaillez toujours dans un thème enfant pour que vos modifications survivent aux mises à jour.

    Méthode 3 : approche moderne sur PrestaShop 8.x

    Sur PrestaShop 8.x, le système de formulaires client a été modernisé avec le composant Symfony Form. L'opt-in partenaires est géré par le CustomerFormBuilder et le CustomerType.

    Si la configuration back-office ne suffit pas, vous pouvez créer un module qui utilise le hook actionCustomerFormBuilderModifier pour retirer le champ :

    
    <?php
    // Dans votre module
    public function hookActionCustomerFormBuilderModifier(array $params): void
    {
        /** @var \Symfony\Component\Form\FormBuilderInterface $formBuilder */
        $formBuilder = $params['form_builder'];
    
        if ($formBuilder->has('optin')) {
            $formBuilder->remove('optin');
        }
    }
    

    Cette approche est plus propre qu'une modification de template et résiste aux mises à jour du thème.

    Implications RGPD à connaître

    Depuis le 25 mai 2018, le RGPD impose des règles strictes sur le consentement marketing :

    • **Pas de case pré-cochée :** le consentement doit être un acte positif et volontaire
    • **Finalité explicite :** l'intitulé doit préciser clairement à quoi le client consent
    • **Preuve du consentement :** PrestaShop stocke la valeur dans `ps_customer.optin`, ce qui constitue une preuve exploitable
    • **Droit de retrait :** le client doit pouvoir retirer son consentement facilement depuis son espace

    Si vous n'envoyez pas d'offres partenaires, désactivez l'opt-in. Collecter un consentement sans finalité réelle est contraire au principe de minimisation des données du RGPD.

    Vérifier que la modification fonctionne

    Après vos changements :

    1. Videz tous les caches (Smarty + OPcache + éventuel Varnish)
    2. Ouvrez la page d'inscription en navigation privée
    3. Vérifiez que la case n'apparaît plus
    4. Créez un compte test et contrôlez dans le back-office que le champ `optin` est bien à `0` dans la fiche client
    5. Vérifiez également la page **Mon compte → Mes informations personnelles**
#opt-in #RGPD #inscription #formulaire client #vie privée #template Smarty

Questions fréquentes

Tout ce que vous devez savoir sur ce sujet.

Un projet PrestaShop ?

Discutons-en directement.

★★★★★

193 projets livrés

Gratuit & sans engagement — réponse sous 24h

Alexandre Carette

Alexandre Carette

Expert PrestaShop & Architecture E-commerce

Développeur PrestaShop depuis 2014, 193 projets livrés. Je conçois des architectures headless Nuxt + PrestaShop et des outils d'automatisation IA pour les e-commerçants.