Intereting Posts
Предупреждение: trim () ожидает, что параметр 1 будет строкой, массив указан в wp-includes / class-phpmailer.php в строке 973 Возвращаемое значение php mb_strlen является странным Write Privileges – localhost – Mac OSX Как сохранить переменную в sessionignignitor Ошибка переопределения PHP с ошибкой при смещении, работает на некоторых серверах, а не на других Только последняя строка возвращается в json с помощью codeigniter Как получить значения блока checkbox в Laravel 5? Почему точка с запятой необязательна в последнем утверждении в php? Лучшая практика для PHP / MySQL Назначение / Система бронирования Временное значение (локальное значение) с nginx php FPM Использование IMAP () в PHP для получения последних непрочитанных сообщений электронной почты Как читать параметры запроса OAuth с помощью PHP? вызов функции php в отдельном файле из ajax не работает Как вставить событие в календарь Google Google, используя php? Отправка HTML-сообщения через PEAR при использовании аутентификации SMTP возвращает ошибку

Измените шаблон с помощью параметра при рендеринге действия контроллера?

Я получил простой CRUD-контроллер с indexAction (), чтобы перечислить все элементы. Теперь я хочу выполнить это действие в другом шаблоне и изменить его.

{{ render(controller("MyBundle:MyEntity:index")) }} 

Есть ли предопределенный параметр для изменения шаблона? Конечно, его легко передать это значение, но я не хочу изобретать велосипед.

Не существует собственного параметра для изменения шаблона, но вы можете передать аргумент в действие, определенное методом render

 { render(controller('MyBundle:MyEntity:index', { 'template': 'MyBundle:ControllerName:foo.html.twig' })) }} 

… и использовать его внутри действия вашего контроллера, чтобы решить, какой шаблон визуализировать.

 class MyEntityController { public function indexAction($template = null) { // ... some code here $template = $template ? $template : 'MyBundle:ControllerName:index.html.twig'; return $this->render( $template, array( 'variable' => $variable, ) ); }