Php zend framework 2 viewModel it';它不工作了

Php zend framework 2 viewModel it';它不工作了,php,zend-framework2,Php,Zend Framework2,我的示例相册在ZF2中运行,对于lear,我尝试在ZF2中使用一个新模块,该模块调用电子邮件,其全部工作,文件夹配置、模块、路由、控制器等 我的问题是ZF2无法识别我的视图在哪里。文件夹在那里,index.phtml也在那里。但我仍然有一个错误: 致命错误:未捕获异常“Zend\View\exception\RuntimeException”,消息为“Zend\View\Renderer\PhpRenderer::render:无法呈现模板“emails/emails/index”;解析程序无法

我的示例相册在ZF2中运行,对于lear,我尝试在ZF2中使用一个新模块,该模块调用电子邮件,其全部工作,文件夹配置、模块、路由、控制器等

我的问题是ZF2无法识别我的视图在哪里。文件夹在那里,index.phtml也在那里。但我仍然有一个错误:

致命错误:未捕获异常“Zend\View\exception\RuntimeException”,消息为“Zend\View\Renderer\PhpRenderer::render:无法呈现模板“emails/emails/index”;解析程序无法解析为C:\xampp\htdocs\zendskletonapplication\vendor\ZF2\library\Zend\View\Renderer\PhpRenderer.php:451中的文件“”

堆栈跟踪:

#0 C:\xampp\htdocs\zendskletonapplication\vendor\ZF2\library\Zend\View\View.php(203):Zend\View\Renderer\PhpRenderer->render(对象(Zend\View\Model\ViewModel))

#1 C:\xampp\htdocs\zendskletonapplication\vendor\ZF2\library\Zend\View\View.php(230):Zend\View\View->render(对象(Zend\View\Model\ViewModel))

#2c:\xampp\htdocs\zendskletonapplication\vendor\ZF2\library\Zend\View\View.php(196):Zend\View\View->renderChildren(对象(Zend\View\Model\ViewModel))

#3 C:\xampp\htdocs\zendskletonapplication\vendor\ZF2\library\Zend\Mvc\View\Http\DefaultRenderingStrategy.php(128):Zend\View\View->render(对象(Zend\View\Model\ViewModel))

#4[内部函数]:Zend\Mvc\View\Http\DefaultRenderingStrategy->render(第451行C:\xampp\htdocs\ZendskeletonApp\vendor\ZF2\library\Zend\View\Renderer\PhpRenderer.php中的Ob

我认为这是因为它找不到文件夹和存档
emails\emails\index


有什么想法吗?

您是否在模块配置中包含模板映射条目?在配置文件中,您应该有类似的内容来解析模板

return array(
    'view_manager' => array(
        'template_map'             => array(
            'emails/emails/index' => __DIR__ . '/../views/emails/emails/index.phtml',
            'web/index/index'     => __DIR__ . '/../views/web/index/index.phtml',
            'error/404'           => __DIR__ . '/../views/error/404.phtml',
            'error/index'         => __DIR__ . '/../views/error/index.phtml',
            'layout/layout'       => __DIR__ . '/../views/layouts/welcome-page.phtml',
            'forms/registration'  => __DIR__ . '/../views/forms/registration.phtml',
            'test'                => __DIR__ . '/../views/test.phtml',
        ),
        'template_path_stack' => array(
            __DIR__ . '/../views',
        )
    ));

你能解释一下为什么你必须使用layout/layout而不仅仅是layout吗?你可以随意命名它。我只是很快地输入了layout/layout,但你可以将它命名为“layout/default”或“default”,或者你可以使用“layout/otherlayout”或“layout/favoritelayout”。ZF2让你使用这个更简短、更容易记住的名称,而不必打字将控制器添加到控制器列表时,ZF2也会对控制器执行相同的操作。