2012-02-19 39 views

回答

14

遵循MVC模式,把邏輯控制器。

在控制器:

$this->set('loggedIn', $this->Auth->loggedIn()); 

在視圖:

if($loggedIn) { 
    echo $this->element('user'); 
} 
else { 
    echo $this->element('guest'); 
} 
+0

這個作品,謝謝 – user1183721 2012-02-19 21:09:34

2

試試這個:

$element = (AuthComponent::loggedIn()) ? 'user' : 'guest'; 
echo $this->element($element); 

漂亮類似於你已經嘗試過,但隨後調用記錄在方法靜態。

+0

這引發了'錯誤:調用未定義的方法查看::用戶()' – ptica 2014-08-18 13:07:45

4

使用(如顯示在 「日誌教程」 認證所需)會議助手:

if ($this->Session->read('Auth.User')) { 
    echo 'logged'; 
} else { 
    echo 'guest'; 
} 
+1

我總是用'$這 - >會話級>閱讀(「Auth.User.id」)'明確(ID應該永遠是空的,但我想你永遠不知道)。 – mark 2012-04-05 12:29:56

1
!$this->Session->check('marketplace_showlink' 

如果錯誤在上面的代碼occures這在appcontroller

像編碼:
調用一個成員功能檢查()非對象上

它會產生由於空會話變量