Bonjour,
je suis actuellement en train de développer un module sur-mesure pour un site ecommerce et j'aimerais faire une redirection sur la route 'customer.home' lors de l'evenement TheliaEvents::ORDER_UPDATE_STATUS
voici le code de mes fichiers :
config.xml
<services>
<service id="mymodule.payment.listener" class="MyModule\EventListener\PaymentListener">
<tag name="kernel.event_subscriber"/>
</service>
</services>
PaymentListener.php
class PaymentListener extends BaseFrontController implements EventSubscriberInterface
{
protected $currentRouter = "router.front";
public function updateStatus(OrderEvent $event)
{
$order = $event->getOrder();
if ($order->isPaid()){
return $this->generateRedirectFromRoute('customer.home');
}
}
public static function getSubscribedEvents()
{
return array(
TheliaEvents::ORDER_UPDATE_STATUS => array("updateStatus", 128),
);
}
}
Je me prend un erreur (qui semble logique) mais je ne sais pas comment la résoudre :
Fatal error: Uncaught Error: Call to a member function get() on null in C:\wamp64\www\tda-thelia24\vendor\thelia\core\lib\Thelia\Controller\BaseController.php:504 Stack trace: #0 C:\wamp64\www\tda-thelia24\vendor\thelia\core\lib\Thelia\Controller\BaseController.php(489): Thelia\Controller\BaseController->getRouter('router.front') #1 C:\wamp64\www\tda-thelia24\vendor\thelia\core\lib\Thelia\Controller\BaseController.php(463): Thelia\Controller\BaseController->getRouteFromRouter('router.front', 'customer.home', Array, 1) #2 C:\wamp64\www\tda-thelia24\vendor\thelia\core\lib\Thelia\Controller\BaseController.php(371): Thelia\Controller\BaseController->getRoute('customer.home', Array, 1) #3 C:\wamp64\www\tda-thelia24\vendor\thelia\core\lib\Thelia\Controller\BaseController.php(437): Thelia\Controller\BaseController->retrieveUrlFromRouteId('customer.home', Array, Array, 1) #4 C:\wamp64\www\tda-thelia24\local\modules\MyModule\EventListener\PaymentListener.php(24): Thelia\Controller\BaseController->generateRedirectFromRoute('customer in C:\wamp64\www\tda-thelia24\vendor\thelia\core\lib\Thelia\Controller\BaseController.php on line 504
dans le fichier BaseController.php la variable $container est null donc le routing ne peut pas fonctionner
Merci par avance.
Cordialement