10 Sep 2020

Comment masquer un prix à 0€ dans Prestashop 1.7

Selon ce que vous vendez, vous pouvez être amené à avoir des produits affichés à 0€ sur votre site Prestashop. Il n’est pas toujours utile dans ce cas-là de montrer cette bulle ronde aux visiteurs de votre site. Voici un tutoriel Prestashop, pour vous permettre de masquer le prix d’un produit à 0€.

Pourquoi masquer le prix d’un produit à 0 euro ?

Selon vos besoins et ce que vous proposez à vos clients, vous pouvez être amené devoir renseigner des produits à ce tarif.

Voici une liste de situations de produit à 0€ :
– Un produit uniquement sur devis
– Un cadeau à offrir aux clients sous une règle panier
– Un produit personnalisable sous Prestashop
– Un produit variable avec des déclinaisons qui impactent le prix
etc.

J’ai rencontré ce besoin sur le site d’un client qui vend des coffrets de produits de terroir. Le site est destiné à des clients B2B. Un produit présent sur le Prestashop peut-être personnalisé sur devis. Le tarif étant à 0€, il était inutile d’afficher le prix sur les pages catégories et sur la fiche produit.

Conditions d’affichages pour ne pas afficher le prix dans Prestashop 1.7

Un produit peut être affiché sur plusieurs pages du site. Il va donc falloir modifier plusieurs fichiers pour indiquer à Prestashop que, si le prix du produit est égal à 0€, alors il ne faut pas afficher le prix.

Ce tutoriel vous indique comment modifier certains fichiers de votre site. Si vous n’êtes pas à l’aise avec ce genre de processus, réalisez une sauvegarde de votre site ou faites appel à un freelance Prestashop.
Je vous conseille d’utiliser un thème enfant pour permettre de récupérer les fichiers natifs si besoin.

Pour ce tutoriel, j’ai mis une condition pour remplacer le prix par un texte, qui peut-être traduit en back-office.
J’ai ajouté “sur devis”. Cependant, vous êtes libre de mettre n’importe quel texte ou rien du tout si vous le souhaitez.

Je vous conseille de mettre un texte pas trop long pour avoir un affichage parfait sur les formats desktop et mobile de votre site Prestashop.

Masquer un prix à 0 euro dans la fiche produit de Prestashop

Nous allons mettre une condition dans un fichier qui permet d’appeler les prix sur la fiche produit de Prestashop.
Cette condition permettra d’afficher un texte, si le produit est à 0€.
Libre à vous de mettre le texte comme bon vous semble.

Sur votre serveur, rendez-vous dans votre thème et suivez ce chemin : template > catalog
Vous pouvez ouvrir le fichier product.tpl et vous rendre à la ligne 87.

Remplacez la condition du bloc prix par :

{if $product.price_amount eq "0"} 
<p><b>{l s='Sur devis' d='Shop.Theme.Catalog'}</b></p>
{else}
{block name='product_prices'}
{include file='catalog/_partials/product-prices.tpl'}
{/block}
{/if}

Avec ce bout de code, vous allez afficher un texte au lieu du prix du produit.

Ne pas afficher un prix à 0 euro dans la liste produit de Prestashop

Pour modifier ce fichier vous devez vous rendre dans votre thème et suivre ce chemin : template > catalog > _partials > miniature.
Ensuite vous avez un fichier product.tpl, ouvrez le et rendez-vous à la ligne 71 environ. Vous devez trouver la variable product.price qui est dans une balise span.

Ci-dessous vous avez la condition à mettre pour masquer le prix du produit s’il est égal à 0€.

{if $product.price_amount eq "0"}
<span itemprop="price" class="price">{l s='Sur devis' d='Shop.Theme.Actions'}</span>
{else}
<span itemprop="price" class="price">{$product.price}</span>
{/if}

Avec cette astuce vous pouvez facilement masquer un prix et informer le client grâce à un texte présent sur le site. Du moment que vous allez modifier le prix de votre produit, instantanément le texte va disparaître pour laisser place au nouveau tarif du produit.

Vous avez besoin d’aide pour masquer un prix à 0€ sur Prestashop ?

– Connexion à votre serveur
– Insertion des conditions dans les fichiers tpl
– Ajout d’un style pour adapter à votre thème

Vous pouvez prendre un ticket d’intervention Prestashop sur mon site pour votre boutique en ligne.

Source : Forum Prestashop

Photo by engin akyurt on Unsplash