🛒 CommandesIntermédiaire PS 1.6 PS 1.7 PS 8.x

Simplifier le tunnel de commande PrestaShop : supprimer des étapes

Comment simplifier le checkout PrestaShop en supprimant les étapes adresses et frais de port. Guide technique avec code Smarty et configuration.

En bref : Pour simplifier le tunnel de commande PrestaShop en supprimant les étapes d'adresse et de frais de port, configurez un transporteur unique gratuit, utilisez les produits virtuels pour ignorer l'adresse de livraison, et nettoyez le breadcrumb via les templates Smarty (PS 1.6) ou les hooks PHP (PS 8.x).

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

Pourquoi simplifier le tunnel de commande PrestaShop

Le tunnel de commande standard de PrestaShop comporte plusieurs étapes : identification, adresses, mode de livraison, paiement. Pour certains business models — vente de produits dématérialisés, services en ligne, abonnements — les étapes d'adresse de livraison et de choix du transporteur n'ont aucun sens.

Supprimer ces étapes inutiles réduit la friction et améliore significativement le taux de conversion. Chaque écran supplémentaire dans un tunnel d'achat représente un point de fuite potentiel pour le client.

Étape 1 : Neutraliser l'étape des frais de port

La méthode la plus propre pour éliminer l'étape de choix du transporteur consiste à configurer un transporteur unique et gratuit.

Configuration dans le back-office

  1. Rendez-vous dans **Livraison > Transporteurs**
  2. Désactivez tous les transporteurs existants (ne les supprimez pas, vous pourriez en avoir besoin plus tard)
  3. Créez un transporteur unique avec les paramètres suivants :
  4. - Nom : « Livraison incluse » ou « Téléchargement » selon votre contexte

    - Frais de port : 0 € pour toutes les tranches

    - Zones : activez uniquement les zones pertinentes

    - Taille/poids max : valeurs suffisamment élevées pour couvrir tout votre catalogue

    Avec un seul transporteur gratuit, PrestaShop sélectionne automatiquement ce transporteur et l'étape devient transparente pour le client.

    Sur PrestaShop 8.x

    Sur PrestaShop 8.x, le tunnel de commande en une page (OPC) est géré différemment. Le checkout est rendu côté front via des composants JavaScript. Avec un seul transporteur gratuit, l'étape de livraison est toujours affichée mais pré-remplie. Pour aller plus loin, vous pouvez masquer visuellement la section via CSS :

    
    /* Dans votre thème custom - assets/css/custom.css */
    #checkout-delivery-step {
      display: none;
    }
    

    Attention : masquer via CSS est une approche rapide, mais le bloc reste dans le DOM. Pour une solution plus robuste sur PS 8.x, créez un module qui hook sur actionPresentOrderStep pour modifier le comportement du step.

    Étape 2 : Gérer l'adresse de livraison

    Pour les produits virtuels, PrestaShop peut être configuré pour ne pas exiger d'adresse de livraison :

    1. Assurez-vous que tous vos produits sont marqués comme **produits virtuels** dans leur fiche produit
    2. PrestaShop détectera automatiquement un panier 100% virtuel et sautera l'étape d'adresse de livraison
    3. Si vos produits ne sont pas virtuels mais que la livraison n'est pas pertinente (par exemple, des prestations de service), vous pouvez :

      • Réduire les champs d'adresse au strict minimum requis (pays, pour le calcul de TVA)
      • Utiliser un module de checkout simplifié

      Étape 3 : Nettoyer le fil d'Ariane

      Même après avoir neutralisé ces étapes, le breadcrumb peut encore afficher des mentions comme « Frais de port » dans la navigation. Sur PrestaShop 1.6, cela se corrige dans le template Smarty breadcrumb.tpl de votre thème.

      Correction du breadcrumb (PrestaShop 1.6)

      Le principe est d'appliquer un filtre replace sur la variable $path pour supprimer les mentions indésirables :

      
      {* breadcrumb.tpl - Suppression des mentions de frais de port *}
      <div class="breadcrumb">
          <a href="{$base_dir}" title="{l s='Retour à l'accueil'}">
              <img src="{$img_dir}icon/home.gif" height="26" width="26" alt="{l s='Accueil'}" />
          </a>
          {if isset($path) AND $path}
              <span class="navigation-pipe">
                  {$navigationPipe|escape:html:'UTF-8'}
              </span>
              {if !$path|strpos:'span'}
                  <span class="navigation_page">
                      {$path|replace:'Frais de port ->':''}
                  </span>
              {else}
                  {$path|replace:'Frais de port ->':''}
              {/if}
          {/if}
      </div>
      

      Le filtre Smarty |replace permet de cibler et supprimer proprement toute mention textuelle sans toucher à la logique de navigation.

      Sur PrestaShop 1.7 et 8.x

      Le breadcrumb est géré différemment sur les versions récentes. Il est construit via le BreadcrumbPresenter côté PHP. Pour le personnaliser :

      
      // Dans un module custom
      public function hookActionBuildBreadcrumb(array $params)
      {
          $breadcrumb = $params['breadcrumb'];
          
          // Filtrer les étapes indésirables
          $filtered = array_filter($breadcrumb['links'], function($link) {
              return stripos($link['title'], 'frais de port') === false
                  && stripos($link['title'], 'shipping') === false;
          });
          
          $params['breadcrumb']['links'] = array_values($filtered);
      }
      

      Étape 4 : Vider le cache après modification

      Après toute modification de templates ou de configuration, il est impératif de vider le cache de PrestaShop :

      1. **Back-office** : Paramètres avancés > Performances > Vider le cache
      2. **Manuellement** : supprimer le contenu de `var/cache/prod/` et `var/cache/dev/` (PS 1.7+) ou `cache/smarty/compile/` et `cache/smarty/cache/` (PS 1.6)
      3. **Vérifiez le bon thème** : si vos modifications ne s'appliquent pas, assurez-vous de modifier les fichiers du thème actif et non ceux du thème par défaut
      4. 
        # PrestaShop 8.x / 1.7
        rm -rf var/cache/prod/* var/cache/dev/*
        
        # PrestaShop 1.6
        rm -rf cache/smarty/compile/* cache/smarty/cache/*
        

        Bonnes pratiques pour un tunnel simplifié

        • **Ne supprimez jamais d'étapes via des hacks en base de données** : utilisez toujours la configuration ou les overrides
        • **Testez le parcours complet** : passez une commande test de A à Z après chaque modification
        • **Pensez à la TVA** : même sans livraison physique, le pays du client peut être nécessaire pour le calcul de la TVA (règles UE sur les services numériques)
        • **Conservez l'adresse de facturation** : elle reste obligatoire légalement pour l'émission de factures
        • **Utilisez un thème enfant** : ne modifiez jamais les fichiers du thème parent, vos changements seraient écrasés à la prochaine mise à jour
#checkout #tunnel de commande #smarty #transporteur #conversion #breadcrumb

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.