Afficher Nombre D'avis Et Note Moyenne Fiche Produit

4 messages dans ce sujet

Posté(e) · Signaler ce message

Bonjour,

Voila, tout est dans le titre.
Je souhaiterais afficher dans les fiches article (au niveau du lien "lire les avis") le nombre d'avis déposé, ainsi que la note moyenne (utilisant les symbole étoile comme dans liste_avis.php).
Comment puis-je faire ?

Merci beaucoup.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Vous pouvez reprendre la requête SQL qui récupère la note moyenne de la fonction render_avis_public_list du fichier modules\avis\fonctions.php :

 

        $qid = "SELECT AVG(note) AS average_rating
            FROM peel_avis
            WHERE";
        if ($type == 'produit') {
            $qid .= " id_produit = '" . intval($prodid) . "'";
        } elseif ($type == 'annonce') {
            $qid .= " ref = '" . intval($prodid) . "'";
        }
        $qid .= " AND etat = '1'";

 

et l'affichage sous forme d'étoile se fait dans le fichier modules/avis_public_list.tpl :

 

{for $foo=1 to $avisnote}<img src="{$star_src|escape:'html'}" alt="" />{/for}

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour et merci.

J'ai commencé par le plus facile :

copier la ligne d'affichage de la notre moyenne avec les étoiles dans produit_details_html.tpl

Ensuite je pense qu'il faut insérer la requête SQL dans display_product.php ?
A quel endroit dois-je la copier ?
J'ai fait quelques essais mais ça ne fonctionne pas.

Pouvez-vous m'aider ?
Merci par avance.

Partager ce message


Lien à poster
Partager sur d’autres sites

Posté(e) · Signaler ce message

Bonjour,

 

Il faut intégrer le code sous
            $tpl = $GLOBALS['tplEngine']->createTemplate('produit_details_html.tpl');

(pour un affichage sur le détail d'un produit) pour pouvoir faire un assign de la variable qui sera utilisé dans le fichier produit_details_html.tpl.

Le code à récupérer du fichier modules\avis\fonctions.php est plus précisément : 

        $qid = "SELECT AVG(note) AS average_rating
            FROM peel_avis
            WHERE";
        if ($type == 'produit') {
            $qid .= " id_produit = '" . intval($prodid) . "'";
        } elseif ($type == 'annonce') {
            $qid .= " ref = '" . intval($prodid) . "'";
        }
        $qid .= " AND etat = '1'";

        $id = query($qid);
        $note = fetch_assoc($id);
        $avisnote = number_format($note['average_rating'], 0);


        $tpl->assign('avisnote', $avisnote);

ainsi que 

    $tpl->assign('star_src', $GLOBALS['wwwroot'] . '/images/star1.gif');

Il faut aussi remplacer $prodid par $product_object->id,

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !


Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.


Connectez-vous maintenant

Twitter Advisto ecommerce

Facebook PEEL Shopping