0
votes

Comment appeler des données de Laravel Mailable dans une vue

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>


0 commentaires

3 Réponses :


0
votes

Vous devez utiliser avec () avec des tableaux.

Remplacer -> avec ("données", $ data ['société']) avec -> avec (["DATA '=> $ Data [" Société "]]]


1 commentaires

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



0
votes

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 ?

https://laravel.com/docs/5.8/mail#configuration -La vue de
https://laravel.com/docs/5.8/mail#view-data


3 commentaires

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



0
votes

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());
        });
}


0 commentaires