/** * @see \BoilerAppMessenger\Message\MessageRendererInterface::renderMessageBody() * @param \BoilerAppMessenger\Message\Message $oMessage * @return string */ public function renderMessageBody(\BoilerAppMessenger\Message\Message $oMessage) { //Build layout $this->initLayout(); //Retrieve layout $oLayout = $this->layout(); //Set subject to layout $oLayout->subject = $oMessage->getSubject(); //Set content to layout $oLayout->content = $this->render($oMessage->getBody()); //Manage assets if service is available if ($this->hasAssetsBundleService()) { $this->getAssetsBundleService()->getOptions()->setModuleName(current(explode('\\', __NAMESPACE__)))->setControllerName(self::MEDIA)->setRenderer($this); $this->getAssetsBundleService()->renderAssets(); } //Render children layout if needed if ($oLayout->hasChildren()) { $this->renderChildren($oLayout); } //Render layout $sBody = $this->render($oLayout); //Inline style if service is available if ($this->hasStyleInlinerService()) { $sBody = $this->getStyleInlinerService()->processHtml($sBody); } return $sBody; }