public function getBodyText() { $body = parent::getBodyText(); $body = $this->parseVariables($body); $body = $this->parseCallbacks($body); if (preg_match('~\\+\\+subject:(?P<subject>.*?)\\+\\+~is', $body, $match)) { $this->setSubject($match['subject']); $body = str_replace($match[0], '', $body); } return $body; }
/** * @example /module/Jobs/src/Jobs/Listener/PortalListener.php * @return string * @throws \InvalidArgumentException the mail body must completely be provided by the template, any other attempt is a misconception that may leave the coder in an quagmire */ public function getBodyText() { $viewModel = new ViewModel(); $response = new Response(); $body = parent::getBodyText(); if (!empty($body)) { throw new \InvalidArgumentException('mail body shall come from Template.'); } $viewManager = $this->getServiceLocator()->getServiceLocator()->get('viewManager'); $view = $viewManager->getView(); $viewModel->setTemplate($this->getTemplate()); $viewModel->setVariables($this->getVariables()); $view->setResponse($response); $view->render($viewModel); $body = $response->getContent(); return $body; }
/** * @example /module/Jobs/src/Jobs/Listener/PortalListener.php * @return string * @throws \InvalidArgumentException the mail body must completely be provided by the template, any other attempt is a misconception that may leave the coder in an quagmire */ public function getBodyText() { $viewModel = new ViewModel(); $response = new Response(); $body = parent::getBodyText(); if (!empty($body)) { throw new \InvalidArgumentException('mail body shall come from Template.'); } /* @var \Zend\Mvc\View\Http\ViewManager $viewManager */ $viewManager = $this->serviceManager->get('viewManager'); $resolver = $this->serviceManager->get('viewResolver'); /* @var \Zend\Mvc\MvcEvent $event */ $event = $this->serviceManager->get('application')->getMvcEvent(); $lang = $event->getRouteMatch()->getParam('lang'); if ($resolver->resolve($this->getTemplate() . '.' . $lang)) { $viewModel->setTemplate($this->getTemplate() . '.' . $lang); } else { $viewModel->setTemplate($this->getTemplate()); } $view = $viewManager->getView(); $viewModel->setVariables($this->getVariables()); $view->setResponse($response); $view->render($viewModel); $body = $response->getContent(); return $body; }