Ajout de commentaire sur la fiche produit de magento
novembre 29, 2009 14 CommentairesNous allons voir dans ce tutoriel comment ajouter le formulaire d’ajout de commentaire sur la fiche produit de magento, ainsi que les commentaires déjà postés par les clients. Deux possibilités :
Ajout des commentaires à la fin de la fiche produit : dans le layout catalog.xml placer ce code après la fermeture du block
Formulaire d’ajout de commentaire
<block type="catalog/product_view" name="product.info" template="catalog/product/view.phtml"> <block type="review/product_view_list" name="review" template="review/product/view/list.phtml"/><!-- ajout commentaire -->
Commentaires déjà postés
Ajoutez ce code dans le même block que l’étape précédente
<block type="review/form" name="product.review.form" as="review_form"/> <!-- ajout formulaire d'ajout commentaire -->
Les commentaires seront ajouter après le contenu tous les éléments de votre fiche produit, vous pouvez le mettre en forme grâce au CSS de magento.
Autre solution vous pouvez créez un block pour le placer ou vous désirez dans la page et éventuellement rajouter des éléments ou du texte. Pour cela rajouter un block dans le layout catalog que vous appellerez avec la méthode getchilHtml()
Rajoutez un block
<block type="core/template" name="commentaire" template="catalog/product/commentaire.phtml"> <block type="review/form" name="product.review.form" as="review_form"/> <!-- ajout commentaire --> <block type="review/product_view_list" name="review" template="review/product/view/list.phtml"/><!-- ajout commentaire --> </block>
Rajouter le template associé au block
Dans le template view.phtml appel du block avec ce code :
getChildHtml(‘commentaire’) ?>
Vous importez le template commentaire.phtml, vous pouvez alors importer les deux block contenus et les mettre en forme
<div class="comm"> <div class="fl"> <?php echo $this->getChildHtml('review_form')?> </div> <div class="commentair fl"> <?php echo $this->getChildHtml('review')?> </div> </div>

Les commentaires et le formulaire d'ajout de commentaire se trouve sur la fiche produit.
Ajoutez les liens vers le formulaire et les commentaires de la fiche produit
Modifier les liens, pour les diriger vers les commentaires de la fiche produit
Placer une Id sur la div qui contiens le formulaire d'ajout de commentaire et les commentaires. Modifier les liens avec ce code :
Le fichier concerné est : template\review\helper\summary.phtml
<a href="#comm"><?php echo $this->__('%d Review(s)', $this->getReviewsCount()) ?></a> <a href="#comm"><?php echo $this->__('Add Your Review') ?></a>

Salut
je vais essayer ce tutoriel. Les liens sur la fiche produits sont plus adaptés au référencement, je pense. Existe t’-il un moyen pour limiter le nombre de commentaires sur la fiche produit. un commentaire, ça va 100 bonjours les dégats ^^
Bonjour,
Oui tu dois pouvoir en limitant le nombres
le fichier que gère les commentaires est : template\review\helper\summary.phtml
au début de ce fichier magento comptes les commentaires il te suffit de faire une boucle pour limiter l’affichage au nombre que tu veux. Je te laisse chercher et poster la solution si tu la trouves.
< ?php if ($this->getReviewsCount()): ?>
Je suis interesse par la limitation de commentaire ? Tu as trouve la réponse David ? La fiche produit est trop longue.
Salut
Dès que j’aurai un petit moment, je ferais un ajout au tutoriel pour expliquer la limitation de commentaire
Salut,
j’aimerais permettre à un client d’ajouter un commentaire destinés au magasin (procédure d’envoi, heure de présence en vue de la livraison par exemple etc…) lorsque sa commande est validée.
Je suppose que je peux m’inspirer de ce code mais comment procéder ?
Merci d’avance
PS : super blog !
Salut,
Pas tout a fait les commentaires c’est pour commenter les produits. Toi ce n’est pour plutôt ajouter des commentaires dans la commande. Il faut développer c’est pas prévu par magento a ma connaissance. Ou peut être du côtes de magento connect.
Bonjour
Les commentaires sont sur la fiche produit, cependant je ne vois pas le système de notation avec les étoiles magento.
Merci beaucoup pour tes tuto Magento very helpful !
Bonjour Cédric,
J’ai un souci avec le dernier point (l’insertion des liens dans template\review\helper\summary.phtml). Comme j’appelle également ce fichier dans le listing produit, j’aurais besoin de récupérer l’url du produit pour la mettre dans le lien avant l’id du div. Si tu as une idée, tant qu’il me reste des cheveux ?…
Merci
Salut,
Je ne comprends pas la question. Tu veux changer les liens de la fiche produit ?
Bonjour,
Non, en faite j’affiche aussi le récap. des commentaires dans le listing produit. J’appelle donc le fichier template\review\helper\summary.phtml dans product/list.phtml. Du coup le lien avec juste l’encre « #comm » ne fonctionne pas puisqu’on est sur le listing produit (et non sur le fiche). Je voudrais donc remonter l’url du produit dans summary.phtml, devant le « #comm ». Histoire que quand on clique dessus, ça envoi sur la fiche produit au niveau des commentaires. Mon souci est que je ne trouve pas comment remonter l’url du produit dans summary.phtml ?
Espérant être plus clair…
Bonjour,
Ajoute en haut du fichier
Ensuite tu fais un getProductUrl();
Tu doit pouvoir rajouter l’encre (#comm) pour pointer directement le formulaire commentaire.
Ah, ça parait évident une fois que c’est dit !!
Like a charm… merci beaucoup.
De rien et bon courage, n’hésite pas à nous montrer le résultat.