我正在通过zend 2入门教程,我撞墙了.我正在教程中我的动作控制器通过indexAction()加载视图:
public function indexAction() {
return new ViewModel(array(
//$albums inside index.phtml will contain data from this method
'albums' => $this->getAlbumTable()->fetchAll()
));
}
Run Code Online (Sandbox Code Playgroud)
但是在加载页面时我看到了这个错误:
Zend\View\Renderer\PhpRenderer::render: Unable to render template "album/album/index"; resolver could not resolve to a file
Run Code Online (Sandbox Code Playgroud)
在这一点上,我意识到我不知道到底发生了什么.我甚至不知道从哪里开始排除此错误.在我扫描所有文件的拼写错误之前,我真的很想了解这个错误是如何发生的.
这是我的modul.config.php:
<?php
return array(
'controllers' => array(
'invokables' => array(
'Album\Controller\Album' =>
'Album\Controller\AlbumController',
),
),
'router' => array(
'routes' => array(
'album' => array(
'type' => 'segment',
'options' => array(
'route' => '/album[/:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Album\Controller\Album',
'action' => 'index',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'ablum' => __DIR__ . '/../view',
),
),
);
Run Code Online (Sandbox Code Playgroud)
小智 9
错误"无法呈现模板"相册/相册/索引"意味着您必须在"相册"模块目录index.phtml下的/album/album目录下添加该文件view.index.phtml视图模板文件用于呈现控制器index操作的视图AlbumController该Album模块.由于此文件似乎缺少,视图模板解析器找不到它.
在Zend Framework 2中,您将视图实现为模板文件,该文件具有.phtml扩展名("phtml"代表PHP + HTML).视图模板具有这样的名称,因为它们通常包含与用于呈现网页的PHP代码片段混合的HTML代码.视图通常位于模块的view子目录中.
对于初学者,我建议阅读Using Zend Framework 2一书.通过这本电子书,您可以节省学习ZF2的时间和精力.
| 归档时间: |
|
| 查看次数: |
16733 次 |
| 最近记录: |