使用 Zend View 时,Zend Expressive默认为layout
模板。我注意到 PhpRenderer 类中的addTemplate($template)
函数,但是在layout
添加替代模板的位置和方式是什么?
在动作的中间件工厂,动作本身或其他地方?
答案 0 :(得分:3)
将layout
密钥传递给render()
数组中渲染器的data
方法似乎足以在返回响应之前切换布局。
例如:
class HomeAction
{
public function __invoke($request, $response, $next)
{
$data = [
'layout' => 'layout::default',
// or 'layout::admin',
// or 'layout::alternative',
];
$body = $this->template->render('app::home', $data);
return new HtmlResponse($body);
}
}
我强烈建议您观看存储库及其在github上的问题更新。