2010-02-23 219 views
0

我的問題是,當用戶沒有登錄時,變量不會從控制器過去,但當用戶登錄時它是可見的。我的控制器方法看起來像這樣:CakePHP - auth組件的問題

function publicprofile($username) { 
     $user = $this->Users->find('first', array('conditions' => array('username' => $username))); 
     $this->set('user', $user['Users']); 
    } 

該方法是在允許列表中,並且一切正常,只是沒有設置$用戶。

謝謝

+0

您是否嘗試過'調試($用戶)'? – deceze 2010-02-23 01:02:05

+0

是的,控制器中的一切似乎都沒問題,但變量沒有在視圖中定義 – viorel 2010-02-23 01:05:12

+0

爲什麼你說這是AuthComponent的問題?如果你刪除了Auth,它會工作嗎?我最近經歷了類似的事情,其中​​一個變量不會'設置''set(compact('varname'))',但可以使用'set('varname',$ varname)'。也許你有相反的...? – deceze 2010-02-23 02:13:13

回答

3

AuthComponent必須在視圖中覆蓋$ user變量。重命名它在你的控制器像這樣:

$this->set('myUser', $user['Users']); 
+0

這就是問題所在,非常感謝 – viorel 2010-02-24 08:35:32

1
$this->set('user', $user['Users']); 

應該奇異

$this->set('user', $user['User']); 
+0

我的模型名稱被命名爲Users,所以$ user ['Users']是正確的 – viorel 2010-02-26 11:05:16