Zend Expressive:如何使用Zend View更改布局

时间:2016-01-20 19:04:38

标签: template-engine zend-view zend-expressive

使用 Zend View 时,Zend Expressive默认为layout模板。我注意到 PhpRenderer 类中的addTemplate($template)函数,但是在layout添加替代模板的位置和方式是什么?

在动作的中间件工厂,动作本身或其他地方?

1 个答案:

答案 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上的问题更新。

请参阅#314#317