获取树枝文件内容并传递变量

Get twig file content and pass variables

我打算创建一个发送电子邮件的函数,但我担心的是我需要获取我的电子邮件模板并在其中传递变量。

现在这就是我得到的:

$template = $this->view->render('./partials/email-template.twig',['name'=>'sample']);

但是我收到了这个错误:

Uncaught TypeError: Argument 1 passed to Slim\Views\Twig::render() must implement interface Psr\Http\Message\ResponseInterface, string given, called in C:\xampp\htdocs\master\app\Controllers\Admin\VoucherController.php on line 34

根据 this thread,您需要先使用 fetch,例如

$template = $this->view->fetch('./partials/email-template.twig');
$html = $template->render(['name' => 'sample', ]);

如错误所述,第一个参数必须是 $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');