Jump to content

Des étoiles sur les pages de catégories


Recommended Posts

Bonjour,

Soit un PS 1.6.1.24 sur lequel le module de la Société des Avis Garantis est installé. Par défaut, ce module n'affiche les étoiles du produit que sur la fiche du produit. Mais mon client souhaite que les étoiles soient affichées sous chaque produit dans les pages de catégories également.

Un dev de SAG m'a sympathiquement donné une piste pour modifier la function getProducts pour ajouter l'appel à la table du module et modifier le fichier product-list.tpl.
Cela fonctionne nickel ... seulement sur les catégories n'ayant pas de sous-catégories. Si un produit est associé à plusieurs catégories, il n'affichera les avis que si la catégorie visitée n'a pas d'enfants (même si ce produit est associé avec cette catégorie enfant).

 

Pour tester, j'ai retiré la condition qui ne faisait s'afficher les étoiles que s'il y avait des produits : sur les pages de catégories avec enfant(s), il indique 0 avis. Alors que sur les pages de catégories sans enfant, le bon nombre d'avis sur le produit est affiché.

 

Le code ajouté dans le tpl :

{if isset($product.sag_reviews_nb) && $product.sag_reviews_nb} 
<div id="pListRate"><div class="steavisgarantisStar" style="margin: auto;display: inline-block;"><span></span><span class="note animate" style="width:{$product.sag_rate * 20}%"></span></div><span id="pListReviewCount" style="vertical-align: top;line-height: 32px;margin-left: 7px;">({$product.sag_reviews_nb} avis)</span></div>
{/if}

Dans l'override de la class Category, function getProducts,  créé pour l'occasion, ajout de ceci après SELECT :

sag.`rate` AS sag_rate, sag.`reviews_nb` AS sag_reviews_nb,

et ajout d'une jointure :

LEFT JOIN `'._DB_PREFIX_.'steavisgarantis_average_rating` sag
 ON p.`id_product` = sag.`product_id`

 

Je ne vois rien là-dedans qui limite l'usage aux catégories "terminales".

Quelqu'un aurait-il une idée de ce qui peut provoquer ce comportement ? Une autre function dans cette class ?

 

Merci d'avance pour des pistes éventuelles

Link to comment
Share on other sites

  • 1 year later...
On 7/29/2020 at 3:22 PM, kerlin said:

Bonjour,

Soit un PS 1.6.1.24 sur lequel le module de la Société des Avis Garantis est installé. Par défaut, ce module n'affiche les étoiles du produit que sur la fiche du produit. Mais mon client souhaite que les étoiles soient affichées sous chaque produit dans les pages de catégories également.

Un dev de SAG m'a sympathiquement donné une piste pour modifier la function getProducts pour ajouter l'appel à la table du module et modifier le fichier product-list.tpl.
Cela fonctionne nickel ... seulement sur les catégories n'ayant pas de sous-catégories. Si un produit est associé à plusieurs catégories, il n'affichera les avis que si la catégorie visitée n'a pas d'enfants (même si ce produit est associé avec cette catégorie enfant).

 

Pour tester, j'ai retiré la condition qui ne faisait s'afficher les étoiles que s'il y avait des produits : sur les pages de catégories avec enfant(s), il indique 0 avis. Alors que sur les pages de catégories sans enfant, le bon nombre d'avis sur le produit est affiché.

 

Le code ajouté dans le tpl :

{if isset($product.sag_reviews_nb) && $product.sag_reviews_nb} 
<div id="pListRate"><div class="steavisgarantisStar" style="margin: auto;display: inline-block;"><span></span><span class="note animate" style="width:{$product.sag_rate * 20}%"></span></div><span id="pListReviewCount" style="vertical-align: top;line-height: 32px;margin-left: 7px;">({$product.sag_reviews_nb} avis)</span></div>
{/if}

Dans l'override de la class Category, function getProducts,  créé pour l'occasion, ajout de ceci après SELECT :

sag.`rate` AS sag_rate, sag.`reviews_nb` AS sag_reviews_nb,

et ajout d'une jointure :

LEFT JOIN `'._DB_PREFIX_.'steavisgarantis_average_rating` sag
 ON p.`id_product` = sag.`product_id`

 

Je ne vois rien là-dedans qui limite l'usage aux catégories "terminales".

Quelqu'un aurait-il une idée de ce qui peut provoquer ce comportement ? Une autre function dans cette class ?

 

Merci d'avance pour des pistes éventuelles

Bonjour,
Problème résolu avec le module officiel et en le greffant sur le hook displayProductListReviews.

Edited by martin sloth (see edit history)
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...