Blog Post

Comment définir les chemins des templates en fonction d’un paramètre défini en configuration ?

Comment définir les chemins des templates en fonction d’un paramètre défini en configuration ?

Tout d’abord, il faut créer le paramètre, par exemple «agence», dans le fichier app/config/parameters.yml

agence: agencea # ou agenceb, etc...

Ensuite, il faut compléter le fichier /app/config/config.yml afin de définir les chemins qui seront utilisés
lors de l’appel des templates.

...
# Twig Configuration
twig:
debug: "%kernel.debug%"
strict_variables: "%kernel.debug%"
paths:
"%kernel.root_dir%/Resources/views/%agence%/": agence
...

On crée les répertoires et fichiers pour les templates dont on peut avoir besoin

app/Resources/views/agencea/index.html.twig
app/Resources/views/agenceb/index.html.twig
etc...

et dans le controller on appelle le template avec le paramètre qui a été défini dans le config.yml

public function indexAction()
{
...
return $this->render('@agence/index.html.twig', array());
}

et voilà, maintenant juste en changeant la valeur dans le fichier app/config/parameters.yml on accède à l’un ou l’autre des templates.

source

About pascall

Related Posts

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *