Bonjour,
Je suis entraîne de développer un site web sur cake php. Je veux mettre un système de commentaires sur mon blogue. J'ai trouvé le plugin "Comments" de grafikart. Trois gros problème me bloque. Ça fait longtemps que ce problème dur. J'ai essayer de consulté la documentation du plugin, mais je la trouve pas très claire. :(
Voici le lien : http://grafikart.github.com/CakePHP-Comment/index.html
1er Les champs "Username" et ",mail" reste vide lorsque un utilisateur est connecté. Le plugin devrais faire la récupération des données automatiquement non?. (Dans la Base de donné - DDB users)
2e Dans ma vue "show.ctp" j'ai ajouter le formulaire pour écrire un commentaire sur l'article en question. On ne voit pas les commentaires des gens s'affichent sur la page.
J'aimerais beaucoup réglé ces problèmes avant la mise en ligne de mon site web qui est prévue en hiver 2013.
Merci de votre aide en avance. :)
Voic ila solution si jamais, il suffisais de chercher un petit peu :
Dans le controller du plugin :
$user_id = $this->Auth->user("id");
$user_username = $this->Auth->user("username");
$user_mail = $this->Auth->user("mail");
$this->request->data'Comment']'ip'] = $this->getIp();
if(AuthComponent::user('id')){
$this->request->data'Comment']'user_id'] = $user_id ? $user_id : 0;
$this->request->data'Comment']'username'] = $user_username;
$this->request->data'Comment']'mail'] = $user_mail;
}
$this->Comment->create($this->request->data, true);
Et comme ça ça sauvegardera les donnée de l'utilisateur connecté :)
Pour la partie 2 c'est à toi de faire l'affichage des commentaires, le plugin ne gère pas l'affichage.
Pour la partie 1 c'est normal qu'il ne sauvegarde rien, mais si tu fais un
$comments = $this->TON MODEL->findComments();
dans $comments tu vois bien les infos de l'utilisateur associé ?
Je ne comprend pas d'envoyer dans $Comments de bien voir les infos de l'utilisateur associer.
voici ma function show();
function show($id = null,$slug = null){
if(!$id)
throw new NotFoundException('Aucune page ne correspond à cet ID');
$post = $this->Post->find('first',array(
'conditions' => array('Post.id' => $id),
'recursive' => 0
));
if(empty($post))
throw new NotFoundException('Aucune page ne correspond à cet ID');
if($slug != $post'Post']'slug'])
$this->redirect($post'Post']'link'],301);
$d'post'] = $post;
$this->helpers] = 'Comment.Comment';
$this->Post->id = $id;
Configure::read('Plugin.Comment',array(
'user' => array(
'model' => 'User',
'username' => 'username',
'mail' => 'mail'
),
'subcomments' => true
));
$comments = $this->Post->findComments(array(
'order' => 'Comment.created DESC'
));
debug($comments);
$this->set($d);
}
Ok normalement ça devrait effectivement marcher tu peux vérifier que la requête sql généré fait bien une liaison sur utilisateurs ?
Je fait un debug de $comment et on voit bien qui récupère bien les données et c'est de l'envoyer à la base de donner que le problème se produit.
Je fait un debug de $comment et on voit bien qui récupère bien les données et c'est de l'envoyer à la base de donner que le problème se produit.