wemakecustom/template-in-route-bundle

Allow the Template to be configured directly in the Route

v1.0 2015-04-08 13:36 UTC

This package is not auto-updated.

Last update: 2024-04-27 15:04:37 UTC


README

This bundle extends SensioFrameworkExtraBundle and is a port of the PR SensioFrameworkExtraBundle#266.

Installation

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

Usage

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.