Jump to content

Affichage des caractéristiques en mode liste


Recommended Posts

Bonjour à tous,

J’ai une petite question,

Je cherche à afficher les caractéristiques techniques des produits, dans listes de produits, donc dans le fichier product-list.tpl,
J’ai tenté d’ajouter la fonction {$feature.name|escape:‘htmlall’:‘UTF-8’} qui les affiche dans la fiche produit, mais cela ne fonctionne bien-sur. Quelqu’un peut-il m’aider ? et m’aiguiller sur ce que je dois rajouter ?

D’avance merci

Marc

Link to comment
Share on other sites

  • 1 month later...

Bonjour, je suis débutant sur prestashop et je suis aussi intéressé par ce sujet. Il n'y a jamais eu de réponse mais si quelqu'un a une solution depuis le temps je serai très contant.

Je ne sais pas comment m'y prendre, j'ai tenté de créer une nouvelle fonction mais sans succès.

Merci d'avance.
Hey.

Link to comment
Share on other sites

  • 4 months later...

Voici ce que vous pouvez faire, à ajouter dans product-list.tpl

{if $product.features}


    {foreach from=$product.features item=feature name=features} 
         {$feature.name|escape:'htmlall':'UTF-8'|cat:" "} : {$feature.value|escape:'html':'UTF-8'}

    {/foreach}

{/if}

Link to comment
Share on other sites

Merci thierryh, j'avais presque trouver une solution en ajoutent une fonction dans classes/category.php, mais cela consommait trop de ressource.
Merci encore.

Hey.

ps: si cette fonction vous intéresse faites le moi savoir, mais elle risque d'être obsolète du coup ^^.

Link to comment
Share on other sites

  • 9 months later...

Voici ce que vous pouvez faire, à ajouter dans product-list.tpl

{if $product.features}


 {foreach from=$product.features item=feature name=features}
	  {$feature.name|escape:'htmlall':'UTF-8'|cat:" "} : {$feature.value|escape:'html':'UTF-8'}

 {/foreach}


{/if}

 

 

Bonjour,

 

merci Thierryh cette methode fonctionne avec PS 1.4.5.1

 

Et on peux aussi juste afficher les valeurs sans les nom de caractéristique

 

comme tel :

 

<!--ajout des caractéristiques -->
{if $product.features}
 {foreach from=$product.features item=feature name=features}
	  <!--{$feature.name|escape:'htmlall':'UTF-8'|cat:" "}--> {$feature.value|escape:'html':'UTF-8'}<br />
 {/foreach}

{/if}
<!--ajout des caractéristiques FIN-->

 

J'ai mis en commentaire le code non nécessaire.

Link to comment
Share on other sites

Bonjour,

 

Si tu ouvre le fichier product.php à la racine tu verras que celui-ci utilise le controller ProductController.php que tu trouveras dans le repertoire controllers/ :

ControllerFactory::getController('ProductController')->run();

 

Dans le fichier ProductController.php, dans la fonction process(), il y a plein de paramètres qui sont associés à la variable $smarty, tu devrais pouvoir y trouver ton bonheur et ensuite les utiliser dans le template smarty product.tpl pour affihcer les listing que tu souhaites avoir.

Link to comment
Share on other sites

  • 1 month later...

Bonjour a tous,

 

Je voudrai faire apparaître une caractéristique dans la liste produit,

 

j'ai essayé le code donné plus haut et cela fonctionne mais affiche toutes les caractéristiques.

 

Hors, j'ai besoin d'en afficher une seule (toujours la même)

 

J'ai bien vu le post de "elkastor" mais ses explications sont trop technique pour moi :)

 

D'avance merci pour votre aide.

 

Arnaud

 

Prestashop 1.3

Link to comment
Share on other sites

Bonjour Arnaud,

Le post de Elkastor est bien mais pour le version 1.4,

C'est du bricolage mais c'est le seul moyen je pense.

Tu fais ceci dans ton template product-list.tpl:

<!--ajout des caractéristiques -->

{if $product.features }

{foreach from=$product.features item=feature name=features}

{if $feature.name == "le nom de la caracteristique"}

{$feature.name|escape:'htmlall':'UTF-8'|cat:" "} {$feature.value|escape:'html':'UTF-8'}<br />

{/if}

{/foreach}

 

{/if}

<!--ajout des caractéristiques FIN-->

 

En gros du vérifie juste le nom de la caractéristique et tu l'affiche si c'est la bonne.

 

Voilà,

Hey

  • Like 1
Link to comment
Share on other sites

Encore un minuscule détail, que dois je rajouter dans ton code pour que la ligne affiché soit en gras.

Est-ce possible dans le TPL, je sais que d'habitude ça se fait dans le CSS mais je vais faire des betise si je vais toucher la dedans :(

 

Encore merci pour ton aide.

 

Arnaud

Link to comment
Share on other sites

je vous conseille d'encadrer {$feature.name|escape:'htmlall':'UTF-8'|cat:" "} {$feature.value|escape:'html':'UTF-8'} par un tag style <span id="toto"> </span>

 

puis dans votre fichier global.css, vous mettez

#toto {font-weight:bold}

 

<span id="toto">{$feature.name|escape:'htmlall':'UTF-8'|cat:" "} {$feature.value|escape:'html':'UTF-8'}</span>

Link to comment
Share on other sites

Bonjour a tous,

 

Merci pour vos réponses, j'ai finalement mis en place la solution de ThierryH, la méthode de elkastor était bien plus simple mais me mettait plusieurs éléments en gras au lieu de juste ce que je voulais (je m'y suis peut être mal pris)

 

ça m'a donc obliger a bidouiller dans le css et d'ajouter de la couleur en plus du gras pour bien mettre en avant la caractéristique choisi.(une grande première pour moi)

 

Merci pour votre aide précieuse

 

Cordialement.

 

Arnaud

Link to comment
Share on other sites

Un petit [RESOLU] du coup ?

 

Bonjour Elkastor,

 

j'avais déterrer ce topic qui datait de 2010 et qui traitait mon sujet mais je n'en suis pas l'auteur, je ne peux donc pas l'éditer en [résolu]

 

en tous cas merci pour votre aide car mon problème est réglé.

 

Bon week end.

 

Arnaud

Link to comment
Share on other sites

  • 4 weeks later...

Bonjour,

Je cherche quelque chose du même genre mais afin d'afficher les caractéristiques au même endroit que les attributs ! Pensez-vous que c'est envisageable ?

 

Sinon d'afficher les attributs sous forme de liste (mais pas déroulante), ou de lien.

 

En fait j'ai des données à mettre en avant (d'autres que je peux mettre dans la fiche technique) et celle que je dois mettre en avant n'ont pas besoin d'être "selectionnée" donc je ne veux pas de liste déroulante.

 

Je ne sais pas si j'ai été clair... mais si quelqu'un à un bout d'idée, ça m'aiderait bien.

 

merci

Link to comment
Share on other sites

  • 10 months later...
  • 7 months later...

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...