【问题标题】:How do you render a view (for HTML email purposes) in Zend Framework 2?如何在 Zend Framework 2 中呈现视图(用于 HTML 电子邮件)?
【发布时间】:2014-10-23 02:28:42
【问题描述】:

我已经阅读了几篇关于这个主题的堆栈溢出帖子,他们提到在控制器中你可以使用$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}
======================================================================

【问题讨论】:

    标签: php model-view-controller zend-framework2 service-locator


    【解决方案1】:

    我需要以下内容:

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

    然后我可以拨打$viewManager->getViewRenderer()->render($viewModel)

    【讨论】:

      猜你喜欢
      • 2012-10-07
      • 1970-01-01
      • 2021-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多