2016-01-20 3 views
2

Zend Expressive по умолчанию layout шаблон при использовании Zend View. Я отмечаю функцию addTemplate($template) в классе PhpRenderer, но где и как добавить альтернативный шаблон в layout?Zend Expressive: как изменить раскладку, используя Zend View

В промежуточном заводе действия, в самом действии или где-то еще?

ответ

2

Передача 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.

Смежные вопросы