Php ZF2";无法呈现模板";Zend在错误的目录中查找
我有一个奇怪的情况 在创建ZF2 SkeletonApplication之后,我创建了一个额外的模块,名为AuthController身份验证,并在视图目录“Authentication/auth”中创建了一个login.phtml 当我运行应用程序时,我得到一个错误Php ZF2";无法呈现模板";Zend在错误的目录中查找,php,zend-framework2,Php,Zend Framework2,我有一个奇怪的情况 在创建ZF2 SkeletonApplication之后,我创建了一个额外的模块,名为AuthController身份验证,并在视图目录“Authentication/auth”中创建了一个login.phtml 当我运行应用程序时,我得到一个错误 Zend\View\Renderer\PhpRenderer::render: Unable to render template "authentication/auth/login"; resolver could not r
Zend\View\Renderer\PhpRenderer::render: Unable to render template "authentication/auth/login"; resolver could not resolve to a file
奇怪的是,当我将完整的文件夹“authentication/auth/login.phtml”放在标准应用程序模块视图文件夹中时,它找到了它
所以Zend找错了目录
这是我的module.config.php(身份验证模块)
这是AuthController
namespace Authentication\Controller;
use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;
class AuthController extends AbstractActionController
{
public function loginAction()
{
return new ViewModel();
}
}
我希望有人能给我指出正确的方向。更改您的配置:
'template_path_stack' => array(
'authentication' => __DIR__ . '/../view',
),
我猜你的水平太低了
如果您在此处进行配置:
Authentication/config/module.config.php
然后您只想返回一个级别,然后进入视图目录。您的代码会将您带回到更高级别的模块目录。zf2无法解析完整路径。viewManager正在使用模板pathStack查找相对视图。在您的示例中,viewManager正在查找以下文件: 目录“//查看/authentication/auth/login.phtml 另一种方式是,您可以向viewManager添加以下模板映射:
'view_manager' => array(
'template_map' => array(
'authentication/auth/login' => __DIR__ . '/../view/where/you/want.phtml',
)
);
对不起,这是我刚才试图强迫出错的内容,我刚刚编辑了它。
'view_manager' => array(
'template_map' => array(
'authentication/auth/login' => __DIR__ . '/../view/where/you/want.phtml',
)
);