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} {$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} {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} {if $configuration.taxes_enabled}{$cart.labels.tax_short}{/if}</span> <span class="value">{$cart.totals.total.value}</span> </div> {/if} {/if} {/block}