簡體   English   中英

您如何在Zend Framework 2中呈現視圖(用於HTML電子郵件)?

[英]How do you render a view (for HTML email purposes) in Zend Framework 2?

我已經閱讀了幾篇關於該主題的堆棧溢出文章,他們提到在控制器中可以使用$this->getServiceLocator()->get('HttpRenderer')或類似的東西。

但是,由於拋出異常,我無法獲得HttpRenderer服務。 我究竟做錯了什么?

======================================================================
   The application has thrown an exception!
======================================================================
 Zend\ServiceManager\Exception\ServiceNotFoundException
 Zend\ServiceManager\ServiceManager::get was unable to fetch or create an instance for HttpRenderer
----------------------------------------------------------------------
/var/opt/projects/MYAPP/web/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:529
#0 /var/opt/projects/MYAPP/web/module/Application/src/Application/Controller/CronController.php(53): Zend\ServiceManager\ServiceManager->get('HttpRenderer')
#1 /var/opt/projects/MYAPP/web/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractActionController.php(83): Application\Controller\CronController->mailAction()
#2 [internal function]: Zend\Mvc\Controller\AbstractActionController->onDispatch(Object(Zend\Mvc\MvcEvent))
#3 /var/opt/projects/MYAPP/web/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#4 /var/opt/projects/MYAPP/web/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#5 /var/opt/projects/MYAPP/web/vendor/zendframework/zendframework/library/Zend/Mvc/Controller/AbstractController.php(117): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#6 /var/opt/projects/MYAPP/web/vendor/zendframework/zendframework/library/Zend/Mvc/DispatchListener.php(114): Zend\Mvc\Controller\AbstractController->dispatch(Object(Zend\Console\Request), Object(Zend\Console\Response))
#7 [internal function]: Zend\Mvc\DispatchListener->onDispatch(Object(Zend\Mvc\MvcEvent))
#8 /var/opt/projects/MYAPP/web/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(468): call_user_func(Array, Object(Zend\Mvc\MvcEvent))
#9 /var/opt/projects/MYAPP/web/vendor/zendframework/zendframework/library/Zend/EventManager/EventManager.php(207): Zend\EventManager\EventManager->triggerListeners('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#10 /var/opt/projects/MYAPP/web/vendor/zendframework/zendframework/library/Zend/Mvc/Application.php(313): Zend\EventManager\EventManager->trigger('dispatch', Object(Zend\Mvc\MvcEvent), Object(Closure))
#11 /var/opt/projects/MYAPP/web/public/index.php(30): Zend\Mvc\Application->run()
#12 {main}
======================================================================

我需要以下內容:

$viewManager = $this->serviceLocator->get('ViewManager');

然后,我可以調用$viewManager->getViewRenderer()->render($viewModel)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM