Jump to content

Ne pas afficher les frais de livraison dans le panier


Recommended Posts

Bonjour,

  • Configuration : Prestashop 1.7.6.1
  • Thème : Classic

J'aimerais savoir comment ne pas afficher les frais de livraison dans le panier de Prestashop. C'est à dire rendre uniquement les frais de livraison visible lors du processus de commande à l'étape livraison. je n'ai pas trouvé de tuto concernant la version 1.7 de prestashop.

Merci de votre aide.

Link to comment
Share on other sites

Après avoir cherché et manipulé le code je suis parvenu à un résultat. 

Tout d'abord pour ne pas afficher les montants de livraison à vos visiteurs non connectés (associez vos transporteurs au groupe "clients"). Cependant suite à cette logique, par défaut Prestashop affiche la livraison gratuite ce qui n'est pas forcément le cas puisque cela dépendra de la commande de votre client une fois qu'il sera connecté.

Il faut donc modifier 5  fichiers pour pouvoir cacher la rubrique livraison aux personnes non connectées, et afficher la rubrique livraison uniquement sur la page commande lorsque vos clients sont connectés. De plus impossible de trouver la traduction de gratuit concernant la livraison, j'ai donc ajouté une traduction de gratuit en gratuite.

Ces modifications ont fonctionné avec le thème classic et Prestashop 1.7.6.1 : Faites une sauvegarde avant de commencer. Ne pas oublier de vider le cache. 

/www/themes/votre-theme/modules/ps_shoppingcart/modal.tpl

              {* Empêche les visiteurs d'avoir accès à la rubrique livraison *}
              {if $customer.is_logged}
                {if $urls.current_url eq 'votre url page commande'}{* Ajoute le montant de la livraison au total de la commande sur la page commande uniquement *}
                  <p><span>{l s='Shipping:' d='Shop.Theme.Checkout'}</span> 
                  {* Traduction introuvable de gratuit, Manipulation ci dessous pour ajouter la traduction dans le back office *}
                  {if $cart.subtotals.shipping.value != "gratuit"}
                  <span class="value">{$cart.subtotals.shipping.value} {hook h='displayCheckoutSubtotalDetails' subtotal=$cart.subtotals.shipping}</span></p>
                  {else}
                  <span class="value">{l s='free delivery' d='Shop.Theme.checkout'}</span>
                  {/if}
                {/if}
              {/if}                   

/www/themes/votre-theme/templates/checkout/_partials/cart-summary-subtotals.tpl

  {foreach from=$cart.subtotals item="subtotal"}
    {if $subtotal.value && $subtotal.type !== 'tax'}
      <div class="cart-summary-line cart-summary-subtotals" id="cart-subtotal-{$subtotal.type}">
        {* Empêche les visiteurs d'avoir accès à la rubrique livraison *}
        {if $customer.is_logged}
          {if $urls.current_url eq 'votre url page commande'}
            <span class="label">{$subtotal.label}</span>
            {* Traduction introuvable de gratuit, Manipulation ci dessous pour ajouter la traduction dans le back office *}
            {if $subtotal.value !== "gratuit"}
              <span class="value">{$subtotal.value}</span>
            {else}
            <span class="value">{l s='free delivery' d='Shop.Theme.checkout'}</span>
            {/if}
          {/if}
        {/if}
      </div>
    {/if}
  {/foreach}        

/www/themes/votre-theme/templates/checkout/_partials/cart-summary-product-line.tpl

    {foreach from=$product.attributes key="attribute" item="value"}
        <div class="product-line-info product-line-info-secondary text-muted">
          {* Empêche les visiteurs d'avoir accès à la rubrique livraison *}
          {if $customer.is_logged}
            {if $urls.current_url eq 'votre url page commande'}
              <span class="label">{$attribute}:</span>
              {* Traduction introuvable de gratuit, Manipulation ci dessous pour ajouter la traduction dans le back office *}
              {if $value !== "gratuit"}
                <span class="value">{$value}</span>
              {else}
                <span class="value">{l s='free delivery' d='Shop.Theme.checkout'}</span>
              {/if}
            {/if}
          {/if}

        </div>
    {/foreach} 

/www/themes/votre-theme/templates/checkout/_partials/cart-detailed-totals.tpl

    {foreach from=$cart.subtotals item="subtotal"}
      {if $subtotal.value && $subtotal.type !== 'tax'}
        <div class="cart-summary-line" id="cart-subtotal-{$subtotal.type}">
          <span class="label{if 'products' === $subtotal.type} js-subtotal{/if}">
            {if 'products' == $subtotal.type}
              {$cart.summary_string}
            {else}
              {* Empêche les visiteurs d'avoir accès à la rubrique livraison *}
              {if $customer.is_logged}
                {if $urls.current_url eq 'votre url page commande'}
                  {$subtotal.label}
                {/if}
              {/if}
            {/if}
          </span>

          <span class="value">
            {* Empêche les visiteurs d'avoir accès à la rubrique livraison *}
            {if $customer.is_logged}
              {if $urls.current_url eq 'votre url page commande'}
                {if 'discount' == $subtotal.type}- {/if}
                {* Traduction introuvable de gratuit, Manipulation ci dessous pour ajouter la traduction dans le back office *}
                  {if $subtotal.value !== "gratuit"}
                    {$subtotal.value}
                  {else}
                    {l s='free delivery' d='Shop.Theme.checkout'}
                  {/if}
              {/if}
            {/if}
          </span>

          {if $subtotal.type === 'shipping'}
              <div><small class="value">{hook h='displayCheckoutSubtotalDetails' subtotal=$subtotal}</small></div>
          {/if}
        </div>
      {/if}
    {/foreach}              
        

/www/themes/votre-theme/templates/checkout/_partials/cart-summary-totals.tpl

  {block name='cart_summary_total'}
    {if !$configuration.display_prices_tax_incl && $configuration.taxes_enabled}
      <div class="cart-summary-line">
        <span class="label">{$cart.totals.total.label}&nbsp;{$cart.labels.tax_short}</span>
        <span class="value">{$cart.totals.total.value}</span>
      </div>
      <div class="cart-summary-line cart-total">
        <span class="label">{$cart.totals.total_including_tax.label}</span>
        <span class="value">{$cart.totals.total_including_tax.value}</span>
      </div>
    {else}

      {if $urls.current_url neq 'votre url page commande'}{* Ne pas ajouter le montant de la livraison au total du pannier *}
        <div class="cart-summary-line cart-total">
          <span class="label">{$cart.totals.total.label}&nbsp;{if $configuration.taxes_enabled}{$cart.labels.tax_short}{/if}</span>
          <span class="value">{$cart.subtotals.products.value}</span>
        </div>
      {else} {* Ajoute le montant de la livraison au total de la commande sur la page commande uniquement *}
        <div class="cart-summary-line cart-total">
          <span class="label">{$cart.totals.total.label}&nbsp;{if $configuration.taxes_enabled}{$cart.labels.tax_short}{/if}</span>
          <span class="value">{$cart.totals.total.value}</span>
        </div>
      {/if}

    {/if}
  {/block}

 

Edited by LCAS (see edit history)
Link to comment
Share on other sites

Salut,

Pour information, le E-commerçant qui me cache les frais de port jusqu'à la page de livraison, je ne commande pas chez lui.
Et je ne suis pas le seul dans le cas.

A l'époque où nous sommes, le gars qui cache d'entrée les frais de livraison, pour moi c'est pas net, je passe mon chemin.
A voir ce que la loi aussi impose en tant qu'affichage des frais supplémentaires (livraison, dossier, etc...)
Ce n'est pas un hasard d'ailleurs si il n'y a pas de tuto la dessus et si tous les sites les annoncent par défaut.

Christophe

Link to comment
Share on other sites

  • 2 weeks later...

Salut Christophe,

Merci pour votre réponse. Cet article est à aborder d'un point de vue technique. Selon la boutique différentes politiques de livraison peuvent s'appliquer. 

Personnellement je penses que les frais de livraison sont à "cacher" tant que le client n'a pas créé de compte car selon sa position géographique les frais de livraison peuvent être différents. 

De plus il est important de présenter dans les CGV du site "la politique de livraison" avec les différents transporteurs et tarifs. Il est également conseillé d'afficher un montant de commande à partir duquel la livraison est offerte. Le client comprend que la livraison sera à payer si sa commande n'est pas égale ou supérieure à ce montant. 

Avec ces différents réglages, l'ajout des frais de transport pendant le processus de commande (choix du mode de livraison) ne me semble pas malhonnête. 

Edited by LCAS (see edit history)
Link to comment
Share on other sites

  • 7 months later...

Les frais de livraison qui s'affiche sur Prestashop sont faux, et induise le client potentiel en erreur. Pourquoi ?

J'ai par exemple, le retrait en magasin gratuit en Click & Collect, la livraison en Colissimo à un tarif, et celle par Mondial Relay à un autre tarif.

Le choix est soit de sélectionner le moins cher, ce qui affiche gratuit, ce qui est faux, soit choisir Collisimo ou Mondial Relay ce qui est également faux puisque la livraison sera gratuite au-dessus d'un certain prix. Il faut donc laisser le choix au client au moment de la commande ou comme cela se pratique sur quelques sites permettre la simulation des frais de livraison.

Ceci exposé, Prestashop n'est pas au top dans ce domaine, et aucun module n'est satisfaisant.

 

  • Like 1
Link to comment
Share on other sites

  • 2 years later...

Bonsoir,

Je déterre un peu ce topic...

Je me suis servi de ce tuto pour supprimer les FDP dans le panier mais cela ne semble pas fonctionner car lorsque je clique en haut à droite du site les FDP apparaissent toujours, mais pas effectivement dans les étapes du panier lorsque l'on souhaite passer commande.

Comment supprimer ces FDP dans l'aperçu du panier ? 😓

La boutique est sous prestashop 8.0.4

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...