我试图在ZendFramework2.5 AbstractRestfulController中呈现模板文件,但代码中出现了错误或遗漏了一些东西。我能做些什么?
控制器代码
使用Zend\View\Model\ViewModel;
class trial extends AbstractRestfulController{
public function DetailTalktrackAction(){
$view = new ViewModel();
$view->setTemplate('api/trial/specialty_talktrack');
$view->setTerminal(true);
$html = $this->getServiceLocator()->get('viewrenderer')->render($view);
echo $html;
exit;
}
}模块文件夹
- Api
-- config
-- src
--- Api
---- Controller
----- TrialController.php
-- view
--- api
--- trial
---- specialty_talktrack.phtml误差
"class": "Zend\\View\\Exception\\RuntimeException",
"file": "/opt/lampp/htdocs/crush/phase2/vendor/zendframework/zend-view/src/Renderer/PhpRenderer.php",
"line": 494,
"message": "Zend\\View\\Renderer\\PhpRenderer::render: Unable to render template \"api/trial/specialty_talktrack\"; resolver could not resolve to a file"发布于 2016-11-14 11:34:02
1) template_map
您的模板文件应该在view_manager配置中定义在键template_map中。您可以在此Zend\View上阅读更多内容。
//...
'view_manager' => array(
'template_map' => array(
'api/trial/specialty_talktrack' => ...path to your file...
)
),
//...来自Zend\View文档:
TemplateMapResolver允许您直接将模板名映射到特定的模板。以下地图将提供主页模板("application/index/index")以及布局(“布局/布局”)、错误页(“错误/索引”)和404页(“错误/404”)的位置,并将其解析为查看脚本。
'template_map' => array(
'application/index/index' => __DIR__ . '/../view/application/index/index.phtml',
'site/layout' => __DIR__ . '/../view/layout/layout.phtml',
'error/index' => __DIR__ . '/../view/error/index.phtml',
'error/404' => __DIR__ . '/../view/error/404.phtml',
),2) template_path_stack
您还可以检查ZF2相册应用程序教程中的示例设置template_path_stack的位置,这就像用于搜索模板文件的默认文件夹一样。如果要在默认情况下搜索视图文件夹中的视图,可以将此路径添加到template_path_stack中,如下所示:
'view_manager' => array(
'template_path_stack' => array(
'Api' => __DIR__ . '/../view',
),
),来自Zend\View文档:
TemplatePathStack接受一个目录数组。然后按照LIFO顺序(它是一个堆栈)搜索请求的视图脚本的目录。对于快速应用程序开发来说,这是一个很好的解决方案,但是由于所需的静态调用的数量,这可能会在生产中引入性能开销。 下面添加一个指向当前模块的视图目录的条目。确保您的密钥在模块之间不同,以确保它们不会被覆盖--或者简单地忽略键!
'template_path_stack' => array(
'application' => __DIR__ . '/../view',
),https://stackoverflow.com/questions/40587419
复制相似问题