<?php
namespace App\Twig;
use Twig\Extension\AbstractExtension;
use Twig\Extension\GlobalsInterface;
use Symfony\Component\HttpFoundation\RequestStack;
class PanierExtension extends AbstractExtension implements GlobalsInterface
{
private $requestStack;
public function __construct(RequestStack $requestStack)
{
$this->requestStack = $requestStack;
}
public function getGlobals(): array
{
$session = $this->requestStack->getSession();
$panierFormations = $session->get('panier', []);
$panierPacks = $session->get('panier_packs', []);
$totalItems = array_sum($panierFormations) + array_sum($panierPacks);
return [
'totalPanier' => $totalItems,
'nombreFormations' => array_sum($panierFormations),
'nombrePacks' => array_sum($panierPacks),
];
}
}