This bundle extends SensioFrameworkExtraBundle and is a port of the PR SensioFrameworkExtraBundle#266.
The bundle can be installed via composer:
php composer.phar require wemakecustom/template-in-route-bundle
You then simply need to enable it in your AppKernel:
new WMC\TemplateInRouteBundle\WMCTemplateInRouteBundle
This bundle allow the template to be specified directly in the Route via a
_template
attribute, just like if the @Template
annotation was used.
my_route:
path: /{product}-awesome
defaults: { _controller: Bundle:Product:show, _template: Bundle:Product:show-awesome.html.twig}
If the template is named after the controller and action names, you can even
skip the value for the _template
parameter:
my_route:
path: /{product}-awesome
defaults: { _controller: Bundle:Product:showAwesome, _template: true }
This will use the template guesser, same as specifying @Template
without a
template name.
When specified through the route, the _template
parameter will be removed
from _route_params
.
This is especially useful if Routes are generated programatically or if the same controller renders several routes requiring different templates.