2014-01-10 38 views
1

我想創建一個與StackOverflow中類似的導航欄或大多數社交網絡中的導航欄,它顯示用戶信息(名稱,配置文件圖片)或者沒有記錄用戶然後顯示登錄按鈕。帶登錄用戶信息的CakePHP導航欄

我讀這種視圖應該實現爲元素使用$this>element('name');視圖內。問題是我不知道如何獲取元素中的用戶信息。我怎樣才能做到這一點?

+1

http://book.cakephp.org/2.0/en/views.html#passing-variables-into-an-element – Leonardo

+0

是的,我已經讀過這一點,但目前尚不清楚 –

回答

3

在您的控制器中將用戶的當前信息分配給視圖變量。

public function index() 
{ 
    $user = <-- assign current user info 
    $this->set('user',$user); 
} 

在您的index.ctp視圖文件中,將該信息傳遞給要呈現的元素。

echo $this->element('user_info',array('myvar'=>$user)); 

在您的user_info.ctp元素文件中顯示用戶信息。

echo $myvar['email']; 
+0

它基本上是這個,無論如何,玩代碼幾乎肯定會給你答案 – Leonardo

+0

如果這個欄將在每一頁上,將上面的代碼移動到AppController的'beforeFilter()'或者'beforeRender()' – Oberst