Bonjour les amis

J'ai un souci avec un requête doctrine dans une fonction twig qui s'execute a chaque rafraichissement de page

voici ma fonction dans mon template:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
<span class="qtTotal">{{cartSession()}}</span>
Voici le service ou j'envoie le container de service par argument (arguments: ["@service_container"]):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
utility.twig.utility_extension:
        class: Backend\UtilityBundle\Twig\UtilityExtension
        tags:
            - { name: twig.extension }
        arguments: ["@service_container"]
Voici ma classe UtilityExtension :

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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
 
namespace Backend\UtilityBundle\Twig;
 
use Frontend\PanierBundle\FrontendPanierBundle;
 
class utilityExtension extends \Twig_Extension {
 
    protected $container;
 
    public function __construct($container = null) {
 
        $this->container = $container;
    }
 
 
    public function getFunctions() {
        return array(
            new \Twig_SimpleFunction('cartSession', array($this, 'getCartSession')),
        );
    }
 
 
 
    public function getCartSession() {
        $qtTotal = 0;
        $cart = null;
 
        $this->user_session = $this->container->get('security.context')->getToken()->getUser();
        $this->panierSession = $this->container->get('session');
 
        if($this->panierSession->get('cart')){
 
              $cart = $this->container->get('doctrine')->getManager()->getRepository('FrontendPanierBundle:Cart')->findOneById($this->panierSession->get('cart'));
   var_dump($cart);exit;
              }
 
        return $qtTotal;
    }
 
    public function getName() {
        return 'utility_extension';
    }
 
}
 
?>
Donc il ce trouve que quand je suis en local je récupère bien mon objet $cart présent en base grâce à doctrine:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
  $cart = $this->container->get('doctrine')->getManager()->getRepository('FrontendPanierBundle:Cart')->findOneById($this->panierSession->get('cart'));
   var_dump($cart);exit;
Mais quand je fais la même démarche en ligne sur mon serveur, une page blanche apparait, je ne comprend pas.

Pour info mon container est bien présent si je fais un var_dump($this->container) en local mais toujour une page blanche en ligne.

Une idée les amis