我正在定制default.ctp
文件,我试图在页面顶部显示当前登录的用户名。在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]
需要使用数组键你使用,即用户名。你也不需要像控制器中的任何其他代码 – dogmatic69 2010-09-27 00:24:36
@dog:谢谢。我刚刚意识到这一点。 – 2010-09-27 00:50:37