我正在定制default.ctp
文件,我试图在页面顶部显示当前登录的用户名。
在 app_controller.php
,我有以下几点:
function beforeFilter()
{
$user = $this->Auth->user();
if($user != null)
{
$this->Session->write('user_name',$user['User']['username']);
}
}
而在
default.ctp
, 我有:$user = $this->Session->read('Auth.User');
if(!empty($user))
{
echo 'Hello, ' . $user['user_name'];
}
但是,似乎值
$user_name
没有在任何地方设置。我究竟做错了什么?有没有更好的方法来实现这一点?
更新:我已经按照答案中的描述修改了它,但它仍然不起作用。我收到一个错误:
Undefined index: user_name [APP/views/layouts/default.ctp, line 21]
最佳答案
您也可以直接在 View /布局中使用 SessionHelper
$user = $this->Session->read('Auth.User');
if(!empty($user)) {
echo 'Hi ', $user['user_name'];
}
关于authentication - 在 default.ctp 中显示当前登录用户的最佳方式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3800242/