08 Août 2017

Ajouter des caractéristiques dans product-list.tpl sur Prestashop 1.6

Les caractéristiques de vos produits sont souvent une source d’information importante pour vos clients. Il peut y avoir LE détail qui va déclencher l’achat. Je vous explique comment ajouter des caractéristiques sur vos pages catégories et accueil (product-list.tpl) de votre Prestashop.

Etude de cas : Tote The Bag

Voilà l’exemple type. Ce site est spécialisé dans le sac en coton et propose différentes tailles pour ses produits.
Il y a 2 tailles pour les sacs et jusqu’à 4 tailles pour les t-shirts.

Chaque produit dispose d’une déclinaison de taille à choisir par le client.
J’ai fais remonter l’information des différentes tailles grâce à une caractéristique.

afficher-caracteristiques-produt-list-prestashop

L’avantage pour le client ?
S’il cherche un produit particulier, il ne perd pas de temps à rentrer sur le produit pour voir les informations.
Le nombre de clics est donc diminué dans sa navigation sur le site.

Ajouter des caractéristiques dans product-list.tpl

Dans votre product-list.tpl choisissez ou vous voulez placer les caractéristiques (en général au-dessus du titre produit).

Insérez :

{if isset($product.features)}
<div class="features">
{foreach from=$product.features item=feature}
<div>
{$feature.name}: <span>{$feature.value}</span>
</div>
{/foreach}
</div>
{/if}

Prestashop va donc afficher toutes les caractéristiques rattachées à ce produit.
Si vous en avez sélectionné 20, la liste risque d’être longues…

On va rajouter une condition smarty pour afficher une seule caractéristique dans votre product-list :

{foreach from=$product.features item=feature}
{if $feature.name == 'lenomdevotrecaracteristique'}
<div class="featsize">
<span>{$feature.value}</span>
</div>
{/if}
{/foreach}

Remplacez juste ‘lenomdevotrecaracteristique’ par le nom exact inscrit dans votre Prestashop.

19 commentaires sur “Ajouter des caractéristiques dans product-list.tpl sur Prestashop 1.6
  1. Bonjour,

    Voilà un tutoriel bien intéressant avec une manière simple de faire remonter l’information, sans forcément devoir passer via un module externe qui alourdirait le Prestashop.

    Pour ceux qui veulent faire ça en version Prestashop 1.7 j’ai abordé aussi le sujet via un tutoriel vidéo : https://www.webbax.ch/2017/07/10/prestashop-1-7-ameliorer-caracteristiques-ep-26/

    Merci pour le tuyau pour la version Prestashop 1.6 , comme il y’a encore beaucoup de clients sous cette version c’est bien utile.

    A bientôt !

  2. Bonjour,

    Comment faire quand le mon de la caractéristique appelée comprend des accents ?
    Car dans ce cas la valeur ne s’affiche pas.
    Merci

  3. Bonjour,

    si c’est un ou tous les attributs qu’on veut afficher, quel est le code s’il vous plait ? On remplace feature par attribute ? Aussi, à quel endroit du fichier doit-on mettre ce code ?
    Merci

    1. Nativement sur le thème de base Prestashop 1.6 il y a la possibilité d’afficher les attributs couleurs (vous pouvez le voir en cherchant une démo de cette version sur la toile).
      Il suffit alors de reprendre ce code dans le product list du thème par défaut et l’adapter à vos besoins.

  4. bonjour, je découvre votre site, et je voudrais ajouter une caractéristique au urls des produits du module ‘produits dans la même catégorie’ Quel variable utiliser? merci pour votre aide

      1. Pour avoir des liens différents dans les modules comme produit dans la même catégories, produits similaire,…

        Je voudrais donc ajouter une caractéristique après le nom du produit dans le module produit de la même catégorie, mais ca ne fonctionne pas. Rien ne s’affiche avec cette méthode. Auriez vous une piste?
        merci

    1. Merci pour ce retour ! 🙂

      Je pense que oui, il faut mettre une condition dans l’appel de vos caractéristiques.

      Sinon appelez les différentes caractéristiques que vous voulez à la suite :
      {if $feature.name == 'lenomdevotrecaracteristique' && $feature.name == 'lenomdevotrecaracteristique'}

  5. Bonjour,

    on vend des fiches pédagogiques d’auteurs distincts et on aimerait mettre l’auteur et quelques mots de sont cv dans caractéristiques plutot qua dans description pour ne pas alourdir. mais le champ limite à 255 caractères. Savez-vous comment étendre cette possibilité ?

    1. Pour cela il faut modifier les controller de la fiche produit et/ou peut-être une modif du champ type en base de donnée.

      L’idéal pour faire cela est de gérer vos auteurs en fabricants et faire remonter le nom de l’auteur + description dans la liste produit plutôt que de gérer cela en caractéristiques.

  6. Bonjour,
    Ce tuto est fort intéressant. et c’est exactement ce que je chercha à faire mais sur un prestashop 1.7.
    N’étant pas très calé en code et avant de tout casser ;o), est ce que cela est reproductible sur un prestashop 1.7.6 ?
    Merci beaucoup.

    1. Bonjour,

      Il faudrait tester mais je pense que les variables smarty seront différentes.
      Je n’ai pas eu l’occasion de me pencher dessus sur PS 1.7

      1. Matthieu,
        Merci. et désolé pour ce post un peu rapide après lecture.
        Je n’avais pas prêté attention à celui de Webbax qui traite de la version 1.7.
        Je pense qu’avec ça j’ai ce qu’il me faut pour m’en sortir !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *