Php ZF2:我在哪里存储partialoop模板文件?

Php ZF2:我在哪里存储partialoop模板文件?,php,view,zend-framework2,Php,View,Zend Framework2,有人知道在哪里存储ZF2部分循环模板文件吗 我将模板存储在标准Zend文件结构下的相关视图文件夹中。这在ZF1下起作用。但是,当我试图重新考虑代码以使用ZF2时,我得到了这个错误 Fatal error: Uncaught exception 'Zend\View\Exception\RuntimeException' with message 'Zend\View\Renderer\PhpRenderer::render: Unable to render template "listing

有人知道在哪里存储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-*

感谢您的建议。

正如我的评论所猜测的,错误消息中的问题表明模板文件根本找不到

要能够在
partiallop()
中加载模板文件,请始终使用基于视图文件夹的完全限定路径。因此正确的用法如下所示

$this->partialLoop('Modulename\Controllername\Templatefile.phtml', $model);

正如我的评论所猜测的,错误消息中的问题表明模板文件根本找不到

要能够在
partiallop()
中加载模板文件,请始终使用基于视图文件夹的完全限定路径。因此正确的用法如下所示

$this->partialLoop('Modulename\Controllername\Templatefile.phtml', $model);

作为提供完整的限定路径(可能会很麻烦)的替代方案,您可以做以下两件事之一:

1) 在
module.config.php
文件中提供模板文件的路径,如下所示

2) 在
视图
目录下直接创建一个名为
partial
的目录。将所有模板文件放在此目录中

zf2  
  -module   
     -moduleName    
        -view
          -partial
             - partial template files
          -moduleName
             -controllerName
                 - view files
然后从视图脚本调用部分循环,如下所示:

echo $this->partialLoop('partial/listingsPartial.phtml',$model);

我喜欢选项2,因为它将所有部分文件组织到一个位置

作为提供完整的限定路径的替代方案(这可能会很麻烦),您可以做以下两件事之一:

1) 在
module.config.php
文件中提供模板文件的路径,如下所示

2) 在
视图
目录下直接创建一个名为
partial
的目录。将所有模板文件放在此目录中

zf2  
  -module   
     -moduleName    
        -view
          -partial
             - partial template files
          -moduleName
             -controllerName
                 - view files
然后从视图脚本调用部分循环,如下所示:

echo $this->partialLoop('partial/listingsPartial.phtml',$model);

我喜欢选项2,因为它将所有部分文件组织到一个位置

尝试
partiallop('Module\Controller\template.phtml',$model)
。我认为如果没有完整的限定条件,模板中的内容将在视图中查找。谢谢Sam-没有从ZF1中获取更改。然而,部分循环似乎只拾取返回的db/dataset中的第一项。你知道为什么会这样吗?用更多的信息更新你的问题,预期输出是什么,当前输出是什么,你到底做了什么?:>对不起,山姆,我知道了。问题现在是我的SQL语句返回的结果集的问题。您的回答很有帮助,因为文档没有注意到该函数现在在文件根目录中显示。确实想标记为答案,很乐意接受它作为解决方案。谢谢。试试partiallop('Module\Controller\template.phtml',$model)。我认为如果没有完整的限定条件,模板中的内容将在视图中查找。谢谢Sam-没有从ZF1中获取更改。然而,部分循环似乎只拾取返回的db/dataset中的第一项。你知道为什么会这样吗?用更多的信息更新你的问题,预期输出是什么,当前输出是什么,你到底做了什么?:>对不起,山姆,我知道了。问题现在是我的SQL语句返回的结果集的问题。您的回答很有帮助,因为文档没有注意到该函数现在在文件根目录中显示。确实想标记为答案,很乐意接受它作为解决方案。谢谢。非常感谢Sam-BTW在尝试了解新ZF2时发现个人博客很有用。非常感谢Sam-BTW在尝试了解新ZF2时发现个人博客很有用。