【发布时间】:2012-12-01 01:39:36
【问题描述】:
有人知道在哪里存储 ZF2 部分循环模板文件吗?
我将模板存储在标准 Zend 文件结构下的相关视图文件夹中。这在 ZF1 下工作。但是在尝试重构代码以使用 ZF2 时出现此错误?
Fatal error: Uncaught exception 'Zend\View\Exception\RuntimeException' with message
'Zend\View\Renderer\PhpRenderer::render: Unable to render template
"listingsPartial.phtml"; resolver could not resolve to a file' in C:\zendProject\zf2\vendor\zendframework\zendframework\library\Zend\View\Renderer\PhpRenderer.php:454 Stack trace: #0 C:\zendProject\zf2\vendor\zendframework\zendframework\library\Zend\View\Helper\Partial.php(73):
Zend\View\Renderer\PhpRenderer->render('listingsPartial...') #1 C:\zendProject\zf2\vendor\zendframework\zendframework\library\Zend\View\Helper\PartialLoop.php(70): Zend\View\Helper\Partial->__invoke('listingsPartial...', Array) #2 [internal function]: Zend\View\Helper\PartialLoop->__invoke('listingsPartial...', Array) #3 C:\zendProject\zf2\vendor\zendframework\zendframework\library\Zend\View\Renderer\PhpRenderer.php(355):
call_user_func_array(Object(Zend\View\Helper\PartialLoop), Array) #4 C:\zendProject\zf2\module\Landlord\view\landlord\home\index.phtml(42):
Zend\View\Renderer\PhpRenderer->__call
('p in C:\zendProject\zf2\vendor\zendframework\zendframework\library\Zend\View\Renderer\PhpRenderer.php on line 454
我对部分循环的调用如下所示:
echo $this->partialLoop('listingsPartial.phtml',$model);
调用它的模板和视图页面存储在同一个文件中。我想知道是否需要在某个地方(即模块或配置文件)列出 ListingsPartial 模板?
我的目录结构如下:
> zf2
-module
-moduleName
-view
> -moduleName
> -controllerName
> - *the view file and partial template file are stored here-*
任何建议表示赞赏。
【问题讨论】:
-
试试
partialLoop('Module\Controller\template.phtml', $model)。我认为如果没有完整的资格,模板将在 view-root 中查找 -
感谢 Sam - 没有从 ZF1 中获得更改。但是,部分循环似乎只拾取返回的数据库/数据集中的第一项。你知道为什么会这样吗?
-
用更多信息更新您的问题,预期输出是什么,当前输出是什么以及您具体做了什么? :>
-
对不起山姆 - 我明白了。这个问题现在是我的 SQL 语句返回的结果集的问题。您的回答很有帮助,因为文档没有注意到该函数现在在文件根目录中查找。确实想标记为答案,很高兴接受它作为解决方案。谢谢。
标签: php view zend-framework2