我正在定製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