如何修改认证相关的flash信息的外观?

use*_*505 2 php authentication cakephp view cakephp-3.0

我在尝试将 AuthError 上的 Flash 元素从默认更改为错误时没有运气?

我只是想看看我是否可以改变它,但现在它把我逼上了墙,因为我似乎无法改变它?

这就是我在 AppController 中加载我的身份验证的方式,

    $this->loadComponent('Auth', [
        'authError' => 'Did you really think you are allowed to see that? -2',
        'authenticate' => [
            'Form' => [
                'fields' => ['username' => 'email', 'password' => 'password']
            ]
        ],
        'loginAction' => [
            'controller' => 'Users',
            'action' => 'Login'
        ],
        'loginRedirect' => [
            'controller' => 'Pages',
            'action' => 'LoginPage'
        ],
        'logoutRedirect' => [
            'controller' => 'Pages',
            'action' => 'HomePage'
        ]
    ]);
Run Code Online (Sandbox Code Playgroud)

因此,当我转到不允许的页面时,它会显示 authError 消息,但使用任何类/ID 在Element/Flash/default.ctp我想将其更改为仅使用与error.cpt

我已经调试了 Auth 组件,有一个“flash”设置,尝试设置它,但它不起作用?

那么如何更改 authError 以使用不同的 Flash 布局?

谢谢,

ndm*_*ndm 6

如您所见,身份验证消息default.ctp默认使用该元素,并且可以在直接呈现 Flash 元素时对其进行配置。要全局影响这一点,您可以改为配置组件。

如果您只想更改类名,则可以使用配置选项设置中的class参数:flashparams

$this->loadComponent('Auth', [
    // ...
    'flash' => [
        'params' => [
            'class' => 'some-custom-class'
        ]
    ]
]);
Run Code Online (Sandbox Code Playgroud)

如果您想使用不同的元素,例如那个error.ctp,只需使用element设置来指定其名称

    'flash' => [
        'element' => 'error'
    ]
Run Code Online (Sandbox Code Playgroud)

另请参阅说明书 > 控制器 > 组件 > 身份验证 > 配置选项