J'ai une classe mailable qui envoie un email à une personne qui fait un contrat. Maintenant, j'essaie de styler le courrier mais ... Je ne peux pas sembler appel à la variable que je passe dans le retour de la classe mailable.
J'ai essayé de la passer à la vue dans la classe mailable et je J'ai essayé de l'appeler mais dans le mail, il ne s'affiche pas. P>
Ceci est ma classe mailable: P>
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Document</title> </head> <body> <p><?php echo $data ?></p> </body> </html>
3 Réponses :
Vous devez utiliser Remplacer avec () code> avec des tableaux. P>
-> avec ("données", $ data ['société']) code> avec
-> avec (["DATA '=> $ Data [" Société "]]] code> p>
Je l'ai fait, mais cela ne se présente toujours pas dans mon courrier, je l'ai appelé à droite ou devrait-il être quelque chose comme echo $ ceci-> données code>
Si vous retournez une vue pour rendre les données pour le modèle de messagerie (dans ce cas, je suppose son mail.Contract Modèle), avez-vous un modèle de lame située dans des ressources / mails / et nommé contrat.blade.php ? p>
https://laravel.com/docs/5.8/mail#configuration -La vue
de
https://laravel.com/docs/5.8/mail#view-data p>
oui je reçois la vue dans le courrier juste sans la variable
Jetez un coup d'œil à cette ligne, où vous définissez la variable de données: 'Comapny' => $ this-> Data ['Société'],
J'ai vu ça, je l'ai réparé mais ça ne fait rien, je ne reçois toujours pas les données malheureusement
Vous pouvez transmettre une variable dans la classe mailable comme.
besoin de créer un constructeur et de définir une fonction publique. P>
public $data; public function __construct( $parameter ) { $data = /*Your logic define here and assign to `$this->data`*/ $this->data = $data; } public function build() { return $this->view('mails.contract')->with(['data' => $this->data]) ->to($mail)->subject($this->data['subject']) ->attach($this->data['file']) ->withSwiftMeassage(function ($message){ $swiftMessage = $message->getSwiftMessage(); $headers = $swiftMessage->getHeaders(); $headers->addTextHeader('From', 'example - contract <example-email@gmail.com>'); $headers->addTextHeader('Reply-To', 'example-email@gmail.com'); $headers->addTextHeader('X-Mailer:', 'PHP/' . phpversion()); }); }