Ajout de commentaire sur la fiche produit de magento

novembre 29, 2009 15 Commentaires

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

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>
Code
15 commentaires : “Ajout de commentaire sur la fiche produit de magento”
  1. david dit :

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

  2. admin dit :

    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()): ?>

  3. Damien dit :

    Je suis interesse par la limitation de commentaire ? Tu as trouve la réponse David ? La fiche produit est trop longue.

  4. admin dit :

    Salut
    Dès que j’aurai un petit moment, je ferais un ajout au tutoriel pour expliquer la limitation de commentaire

  5. Francois dit :

    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 !

  6. cédric rousset dit :

    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.

  7. Severine dit :

    Bonjour
    Les commentaires sont sur la fiche produit, cependant je ne vois pas le système de notation avec les étoiles magento.

  8. Laurent dit :

    Merci beaucoup pour tes tuto Magento very helpful !

  9. Milzm dit :

    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

  10. cédric rousset dit :

    Salut,
    Je ne comprends pas la question. Tu veux changer les liens de la fiche produit ?

  11. Milzm dit :

    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…

  12. cédric rousset dit :

    Bonjour,
    Ajoute en haut du fichier

    <?php $_product = $this->getProduct() ?>

    Ensuite tu fais un getProductUrl();
    Tu doit pouvoir rajouter l’encre (#comm) pour pointer directement le formulaire commentaire.

  13. Milzm dit :

    Ah, ça parait évident une fois que c’est dit !!
    Like a charm… merci beaucoup.

  14. cédric rousset dit :

    De rien et bon courage, n’hésite pas à nous montrer le résultat.

Poster un commentaire

(obligatoire)

(obligatoire)