我打算创建一个发送电子邮件的函数,但我担心的是,我需要获取电子邮件模板并在其中传递变量。
现在这就是我得到的:
$template = $this->view->render('./partials/email-template.twig',['name'=>'sample']);
但是我遇到了这个错误:
未捕获的TypeError:传递给Slim \ Views \ Twig :: render()的参数1必须实现接口 Psr \ Http \ Message \ ResponseInterface,给定的字符串,在C:\ xampp \ htdocs \ master \ app \ Controllers \ Admin \ VoucherController.php中调用 第34行
答案 0 :(得分:0)
根据this thread,您需要首先使用fetch
,例如
$template = $this->view->fetch('./partials/email-template.twig');
$html = $template->render(['name' => 'sample', ]);
答案 1 :(得分:0)
就像错误提示一样,第一个参数必须是$ response。
示例:
// Define named route
$app->get('/renderEmail/{name}', function ($request, $response, $args) {
return $this->view->render($response, './partials/email-template.twig', [
'name' => $args['name']
]);
})->setName('renderEmail');