probléme récupération objet
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:
1 2
|
<span class="qtTotal">{{cartSession()}}</span> |
Voici le service ou j'envoie le container de service par argument (arguments: ["@service_container"]):
Code:
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:
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:
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