我正在自定义default.ctp文件,我试图在页面顶部显示当前登录的用户名.
- 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]
您也可以直接在视图/布局中使用SessionHelper
- $user = $this->Session->read('Auth.User');
- if(!empty($user)) {
- echo 'Hi ',$user['user_name'];
- }