slackWebhookUrl = $slackWebhookUrl; $this->logger = $logger; } public static function getSubscribedEvents(): array { return [ KernelEvents::VIEW => ['sendSlack', EventPriorities::POST_WRITE], ]; } /** * @param ViewEvent $event * @return void */ public function sendSlack(ViewEvent $event): void { $slack = new Client($this->slackWebhookUrl, [ 'username' => 'CDS-Notify', 'channel' => '#general', 'link_names' => true ]); $order = $event->getControllerResult(); $method = $event->getRequest()->getMethod(); //wenn es keine Bestellung ist oder es kein POST Request ist, dann return if (!$order instanceof Order || Request::METHOD_POST !== $method) { return; } $msg = "Bestellung {$order->getId()}: "; foreach($order->getData() as $item) { if($item['menge'] > 0 && strlen($item['sku']) > 0) { $msg .= ' '.$item['name']; $msg .= ' - '.$item['sku']; $msg .= ' Menge: '.$item['menge']; } } if($order->getStatus() == 1) { $slack->from('CDS-Notify') ->send($msg); } } }