gpt4 book ai didi

php - ZF2 "Unable to render template"Zend 在错误的目录中查找

转载 作者:可可西里 更新时间:2023-10-31 22:44:21 25 4
gpt4 key购买 nike

我有一个奇怪的情况......

在创建 ZF2 SkeletonApplication 之后,我在 View 目录“authentication/auth”中创建了一个名为 Authentication 的额外模块,其中包含一个 AuthController 和一个 LoginAction,我放置了一个 login.phtml。

当我运行应用程序时出现错误

Zend\View\Renderer\PhpRenderer::render: Unable to render template "authentication/auth/login"; resolver could not resolve to a file

奇怪的是,当我将完整的文件夹“authentication/auth/login.phtml”放入标准应用程序模块 View 文件夹时,它会找到它。

所以 Zend 在错误的目录中查找。

这是我的 module.config.php(身份验证模块)。

return array(
'router' => array(
'routes' => array(
'authentication' => array(
'type' => 'Zend\Mvc\Router\Http\Literal',
'options' => array(
'route' => '/authentication/login',
'defaults' => array(
'controller' => 'Authentication\Controller\Auth',
'action' => 'login',
),
),
),
),
),
'controllers' => array(
'invokables' => array(
'Authentication\Controller\Auth' => 'Authentication\Controller\AuthController',
),
),
'viewmanager' => array(
'template_path_stack' => array(
'authentication' => __DIR__ . '/../view',
),
)
);

这是授权 Controller

namespace Authentication\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class AuthController extends AbstractActionController
{
public function loginAction()
{
return new ViewModel();
}
}

我希望有人能指出我正确的方向。

最佳答案

zf2无法解析完整路径。 viewManager 正在使用您的模板 pathStack 来查找相关 View 。在您的示例中,viewManager 正在查找此文件: DIR 。 '/../view/authentication/auth/login.phtml

换句话说,您可以像这样向您的 viewManager 添加一个 templateMap :

'view_manager' => array(
'template_map' => array(
'authentication/auth/login' => __DIR__ . '/../view/where/you/want.phtml',
)
);

关于php - ZF2 "Unable to render template"Zend 在错误的目录中查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17882212/

25 4 0