Bonjour à tous, j'aimerais pouvoir modifier une partie de mes templates selon le sous domaine ou je me trouve, mais je n'arrive à pas à faire qq chose pour dire à Twig de regarder dans un autre répertoire, voila ce que j'ai déjà essaye :

je rajoute dans le tableau de twig l'emplacement de mon template du sous domaine qui a un base.html.twig modifié, mais il me charge tjrs le template par defaut

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
    acme_domain.template_listener:
        class: Acme\DomainBundle\EventListener\TemplateListener
        arguments: ["@twig"]
        tags:
            - { name: kernel.event_listener, event: kernel.controller, method: onKernelController }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
    public function __construct(\Twig_Environment $twig)
    {
        $this->twig = $twig;
    }
 
    public function onKernelController(FilterControllerEvent $event)
    {
        if (HttpKernelInterface::MASTER_REQUEST === $event->getRequestType()) {
 
            $pathTemplateForSubDomain = '/var/www/symfony/projects/siteprincipal/app/Resources/themes/monsousdomain';
 
            $twigLoader = $this->twig->getLoader();
 
            $paths = $twigLoader->getPaths();
            array_unshift($paths, $pathTemplateForSubDomain);
 
            $twigLoader->setPaths($paths);
 
            var_dump($twigLoader->getPaths());
        }
    }