Использование подпредставления при отправке почты из Laravel 4

Есть ли способ использовать вложенное представление при отправке почты из Laravel 4?

Вы отправляете письмо следующим образом:

Mail::send('emails.welcome', $data, function($m)
{
    $m->to('[email protected]', 'John Smith')->subject('Welcome!');
});

И вы создаете подпредставление следующим образом:

$view = View::make('greeting')->nest('child', 'child.view', $data);

Таким образом, вы могли бы подумать, что можете просто передать представление в метод отправки почты следующим образом:

$view = View::make('emails.welcome')->nest('child', 'child.view', $data);
Mail::send($view, $data, function($m)
{
    $m->to('[email protected]', 'John Smith')->subject('Welcome!');
});

Но, глядя на почтовый класс, кажется, что первым параметром метода отправки должна быть строка, и на ее основе он составляет для вас представление. Кто-нибудь может придумать способ обойти эту проблему?


person Beau    schedule 03.04.2013    source источник
comment
Никогда не пробовал, но вы должны быть в состоянии. Пока вы возвращаете его в тело письма...   -  person Mike Rockétt    schedule 04.04.2013


Ответы (1)


Как насчет передачи дочернего представления в качестве данных в основное представление? Это в значительной степени то, что nest() делает для вас...

$child = View::make('child.view', $data);
$data['child'] = $child;
Mail::send('emails.welcome', $data, function($m) use ($user)
{
    $m->to($user->email, $user->name)->subject('Welcome!');
});
person Phill Sparks    schedule 11.04.2013