kerlin Posted July 29, 2020 Share Posted July 29, 2020 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 More sharing options...
martinkiteur Posted February 25, 2022 Share Posted February 25, 2022 (edited) 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 February 25, 2022 by martin sloth (see edit history) Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now