gpt4 book ai didi

zend-framework2 - bjyauthorize中如何配置403模板

转载 作者:行者123 更新时间:2023-12-04 02:39:09 24 4
gpt4 key购买 nike

我刚刚设置了 bjyoungblood/bjy-authorize并想知道如何告诉 Zend Framework 2 我的 error/403 模板所在的位置。

我没有配置'template' => 'error/403',的初始设置

403.phtml 文件位于 vendor 目录中,但我收到以下错误消息:

Warning: include(C:\myproject\config\autoload/../view/error/403.phtml) [function.include]: failed to open stream: No such file or directory in C:\myproject\vendor\zendframework\zendframework\library\Zend\View\Renderer\PhpRenderer.php on line 507

我的配置有什么问题?

最佳答案

出于性能原因(主要是避免统计调用),BjyAuthorize uses the template map定义请求 error/403 View 时要使用的文件。这是 view_manager 设置的一个选项,如 Zend\View documentation 中所述。 .

要设置您自己的,您可以简单地在 config/autoload/your-settings.local.php 中定义如下内容:

'view_manager' => array(
'template_map' => array(
'error/403' => '/absolute/path/to/your/error/403.phtml',
),
),

或者,在你的模块配置中:

'view_manager' => array(
'template_map' => array(
'error/403' => __DIR__ . '/view/error/403.phtml',
),
),

我建议始终为配置提供绝对路径,因此请确保您的文件 C:\myproject\config\autoload/../view/error/403.phtml 是正确的路径。

如果您愿意,也可以对 403 错误使用不同的 View 。这可以通过更改 $config['bjyauthorize']['template'] 来实现:

'bjyauthorize' => array(
'template' => 'my-module/unauthorized-template',
),

关于zend-framework2 - bjyauthorize中如何配置403模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15343699/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com