2015-09-22 1 views
0

У меня есть inicialize моего тонкого приложения сс использованием шаблона веточки для SwiftMailer Эмали в стройных рамках

$app = new Slim([ 
    'view' => new Twig(), 
    'templates.path' => INC_ROOT . '/app/views' 
]); 

$transport = Swift_MailTransport::newInstance(); 

$mailer = Swift_Mailer::newInstance($transport); 

и я мой маршрут у меня есть этот код

$app->get('/test-email', function() use ($app, $mailer){ 

    // Here I'm fetching my email template from my template directory. 
    $welcomeEmail = $app->view('emails/test_email.twig'); 

    // Setting all needed info and passing in my email template. 
    $message = Swift_Message::newInstance('Wonderful Subject') 
        ->setFrom(array('[email protected]' => 'Me')) 
        ->setTo(array('[email protected]' => 'You')) 
        ->setBody($welcomeEmail) 
        ->setContentType("text/html"); 


    $results = $mailer->send($message); 

    // Print the results, 1 = message sent! 
    print($results); 

}); 

код правильно отправить по электронной почте на адрес результатов = 1, но тело из шаблона ветви - это эхо-сигнал, а не отправка по электронной почте. Я хочу использовать шаблон твига для генерации тела отправляющего сообщения.

+0

Я вызываю код '$ welcomeEmail = app-> view() -> render() 'письма/test_email.twig'); 'и, похоже, отправляет электронное письмо с телом из шаблона twig – mardon

+0

Если этот комментарий устраняет вашу проблему, создайте ответ и отметьте его как принятый. –

+0

Я создаю ответ, но Blackwood удаляю его – mardon

ответ

1

я изменить свой код маршрутов

$app->get('/test-email', function() use ($app, $mailer){ 

    // Here I'm fetching my email template from my template directory. 
    $welcomeEmail = $app->view()->render('emails/test_email.twig'); 

    // Setting all needed info and passing in my email template. 
    $message = Swift_Message::newInstance('Wonderful Subject') 
        ->setFrom(array('[email protected]' => 'Me')) 
        ->setTo(array('[email protected]' => 'You')) 
        ->setBody($welcomeEmail) 
        ->setContentType("text/html"); 


    $results = $mailer->send($message); 

    // Print the results, 1 = message sent! 
    print($results); 

});` 

и теперь код отправки почты с телом из шаблонов прута. Я думаю, что $ app-> view отображает tempalte для экрана и $ app-> view() -> render визуализирует его на переменную

+3

Пожалуйста, используйте ссылку для редактирования по вашему вопросу, чтобы добавить дополнительную информацию. Кнопка «Ответ на сообщение» должна использоваться только для полных ответов на вопрос. – Blackwood

+0

Я думаю, что это полный ответ – mardon

+1

Возможно, строка кода - это то, что вы искали, но ответ также объяснит, что делать с этой строкой кода и почему она решает проблему. – Blackwood