Bonjour / Bonsoir
J'ai un système de commentaires qui permet au membre d'ajouter des commentaires sur les profil des autres. Le propriétaire du profil qui reçoit un nouveaux commentaire reçoit un mail qui dit que vous avez reçus un nouveaux commentaires.

Désolé pour ceux qui m'avais aidé quand j'ai voulu créer un système de notifications instantané. J'ai reformuler ma demande.

Merci de votre aide en avance!

7 réponses


Lartak
Réponse acceptée

Quand tu fais le save du commentaire, tu récupère les infos nécessaires du propriétaire du profil, tu instancies le composant Email et tu envoies le mail, par exemple :

if($this->Comment->save($this->request->data)){
        $proprio = $this->Comment->User->find('first', array(
                                     'fields' => array(
                                                       /* les champs à récupérer */),
                                     'conditions' => array(
                                        'User.id' => $this->request->data'Comment']'destinataire_id']
                                        )
                                     )
        );
        App::uses('CakeEmail', 'Network/Email');
        $Email = new CakeEmail();
        $Email->from('me@example.com', 'Le nom de ton site');
        $Email->to($proprio'User']'email']);
        $Email->subject('Nouveau commentaire');
        $Email->send('Bonjour '.$proprio'User']'username'].', un nouveau commentaire a été posté sur votre profil');
        $this->Session->setFlash("Votre commentaire a bien été posté.");
    }

Comme je ne sais pas de quel controller le commentaire est posté, j'ai mis un truc au hasard, à toi de faire correspondre avec ton système, pour les informations pareils, tu mets ce que tu veux. :)
C'est comme je n'ai pas précisé de layout et de template pour le mail, c'est à toi d'ajouter, je te mets juste sur la voie.

Pas de pb ;), mais du coup la c'est sans moi ... trop cake pour mes compétences ...

Tu veux savoir comment faire pour qu'il y ait l'envoie de mail lorsque le commentaire est posté ?

lakamark
Auteur

Oui si vous avez des pistes à me proposer?

lakamark
Auteur

Le controller que je utilise est CommentssController dans l'action add();
Cette action est appeler depuis n'importe où sur le site web

J'ai fais une petite modification par rapport à ce que tu viens de dire, par contre ça n'empêche pas que tu as quand même quelques truc à modifier pour faire correspondre à tes liaison et/ou les infos pour le mail.

lakamark
Auteur

Merci @Lartak11!
J'ai améliorer ton code.