Bonjour,
J'ai appris à envoyer des variable avec ViewVars comme ceci:
$mail->from($this->Session->read('Site.email'))
->to(authComponent::user('email'))
->subject($this->Session->read('Site.name').' : Confirmation of the order No. '.$this->Basket->id)
->emailFormat('html')
->template('orderconfirmationuser')
->viewVars(array('items'=> 'valeur))
->send();
Simplement, j'aimerais envoyé le contenu d'un panier d'achat. Donc je dois envoyer un array pour que dans le ctp, je puisse faire une boucle en afficher les données.
Simplement, je n'y arrive pas.
En essaynt ceci, ca ne macrhe pas
$mail->from($this->Session->read('Site.email'))
->to(authComponent::user('email'))
->subject($this->Session->read('Site.name').' : Confirmation of the order No. '.$this->Basket->id)
->emailFormat('html')
->template('orderconfirmationuser')
->viewVars(array('items'=> $basketItems))
->send();
$basketItems ayant ce contenu
array(
(int) 0 => array(
'name' => 'Montant auxiliaire de badminton réglable',
'qt' => '1',
'basket_id' => '32',
'article_id' => '37',
'price' => '225',
'noarticle' => '01053',
'content' => '<p>de 140 à 250 cm pour soutenir des longs filets de badminton ou de volleyball.</p>',
'sgattribut' => '',
'sgcatpage' => '114',
'sgimagel' => '01053_2.jpg'
),
(int) 1 => array(
'name' => 'Montant auxiliaire de badminton fixe',
'qt' => '2',
'basket_id' => '32',
'article_id' => '38',
'price' => '85',
'noarticle' => '01052',
'content' => '<p>pour soutenir des longs filets de badminton.</p>',
'sgattribut' => '155cm',
'sgcatpage' => '114',
'sgimagel' => '01052_2.jpg'
)
)
Avez-vous une idée pourm'aider?
C'est comme ça que je le fait chez moi.
$email = new CakeEmail('gmail'); //J'utilise gmail
$email -> viewVars(
array(
'panier' => $data'Cart'])), //Cart est ton array qui contient les différents acahats effectués
'user' => authComponent::user(), //Le tableau contenant toutes les infos sur l'user connecté
...));
$email -> subject($subject) //Chez moi je le met dans une variable tu as aussi la variable "env('HTTP_HOST')" qui te donne le nom du site
-> to(authComponent::user('mail))
-> from(Configure::read('App.defaultEmail'))
-> emailFormat('html')
-> template($nam_template)
-> send();
En espérant ça t'aide, bon courage pour la suite et joyeux noel!
Salut je te remercie. C'st comme ca que j'ai finalement fait.
Dit moi, j'ai un autre problème et en lisant ta réponse, peut etre que tu peux m'apporter la solution
Tu as écris cette ligne:
'user' => authComponent::user()
Es. ce que authComponent::user() est un simple tabeau?
Je dois modifier mon profile, une fois authentifié. Que je sauve mes modification j'aimerais mettre à jour 'authComponent::user()' car a certain endroit, j'affiche le prénom comme ceci authComponent::user('firstname'). LE truc c'est qu'après avoir modifier mon profile, authComponent::user('firstname') garde la veleur précédente, sauf si je me delog et me reauthentifie, ce que j'aierais éviter. Comment puis-je alors mettre à jour le tableaus authComponent::user() après avoir modifier les valeurs de mon profile?
Milles mercis
En effet c'est un tableau. Dans l'un de tes models fai ceci pour savoir ce que tu as exactement:
$user = authComponent::user();
debug($user);
die();
Pour que les données sur l'utilisateur soit à jour utilise :
$this->User->read(null, $id);//$id est l'idée de l'utilisateur
Il est préférable que tu mettes le sujet en résolu et que tu ouvres une nouvelle page pour ton soucis pour que tu puisses bénéficier de l'aide nécessaire.
Bonne soirée.