Système de commentaires : Répondre

Par iGenezys, il y a 9 ans


Bonjour,
J'ai suivi le tuto grafikart du réseau social, et suite à la partie "commentaires", j'essaie d'ajouter une chose à mon système, à savoir la "réponse au commentaire".
J'ai mon commentaire d'écrit, et sur ce commentaire je souhaite pouvoir y répondre, à la manière des commentaires Facebook. Quand je cliquerais sur le boutton "Répondre", j'aurais accès à un formulaire de réponse et je pourrais écrire dessus.

Mon soucis c'est que je ne sais pas du tout comment faire, pour différencier les commentaires de bases des réponses, comment afficher les réponses, ce genre de choses.

Je sais pas vraiment quoi mettre en code, si vous voulez j'ai la vue avec l'affichage de mes commentaires :

@foreach($comments as $comment) <div class="co col-md-12"> <div class="co1 col-md-1"> @if(isset($comment->user->avatar)) <img class="imguser" src="{{url("public{$comment->user->avatar}") }}"> @else <img class="imguser" src="{{url("public/images/avatar/default.jpg") }}"> @endif </div> <div class="col-md-1"> <p class="c1"><strong>{{$comment->pseudo}}</strong></p> <em>{{$comment->created_at->diffForHumans()}}</em> </div> <div class="c8 col-md-9"> <div class="cm"> <p class="text-right"> Répondre <a href="{{ route('comments.edit', $comment) }}">Editer </a> <a href="{{ action('CommentsController@destroy', $comment) }}" data-method="delete" data-confirm="Voulez vous vraiment supprimer le commentaire ?"> <span class="glyphicon glyphicon-remove remove"></span> </a> </p> </div> <div class="texx"> {{$comment->content}} </div> </div> </div> @endforeach

& mon CommentsController :

public function store(CommentsRequest $request, Guard $auth){ $data = $request->only('pseudo', 'email', 'content', 'produit_id'); if($auth->user()){ $data['user_id'] = $auth->user()->id; } Comment::create($data); return redirect()->back()->with('success', 'Merci pour votre commentaire'); }

Si vous avez une idée qui me permettrais d'avancer, ou si vous connaissez un tutoriel qui m'aiderait aussi, je vous remercie d'avance !

5 réponses

Shuxx62, il y a 9 ans

Tu rajoute un parent_id avec l'id du commentaire auquel tu repond tout simplement

iGenezys, il y a 9 ans

Bonjour, merci pour ta réponse.

Du coup, dans la procédure, mon formulaire de "réponse au commentaire" va pointer sur une fonction du controller différente de Store, et va ajouter le commentaire en rajoutant un champs "parent _ id" qui sert à savoir à quel commentaire il réponds.

J'arrive à comprendre à peu prêt ça, après je n'arrive pas à situer comment, dans l'affichage des réponses, je vais pouvoir afficher les réponses par commentaires (les réponses au com 1 sous le com 1 et les réponses au com 2 sous le com 2)

J'essaie déjà de créer les commentaires, en tout cas merci.

EDIT : Je n'avais pas vu ta réponse @betaWeb, du coup je vais aussi jeter un oeil à ces tutoriels :)

Lartak, il y a 9 ans

Bonsoir.

J'arrive à comprendre à peu prêt ça, après je n'arrive pas à situer comment, dans l'affichage des réponses, je vais pouvoir afficher les réponses par commentaires (les réponses au com 1 sous le com 1 et les réponses au com 2 sous le com 2)

Tu pourrais par exemple t'inspirer de Tutoriel Vidéo PHP » Commentaires imbriqués.

iGenezys, il y a 9 ans

Merci pour votre réponse.
Le soucis à été réglé, j'ai compris le principe du parent _ id et comment placer correctement mes réponses.
Merci à tous !