2
로그인 한 사용자를 식별하기 위해 내 AppController에서 변수 $ loggedIn을 전역으로 설정하려고하지만, 내 URL이 사용자 컨트롤러를 호출하는 경우에만 true가됩니다. 예를 들어 URL로 사용자/색인을 방문하면 로그인 한 것으로 나타납니다. 페이지/집을 방문하면 로그인하지 않습니다. appcontroller와 내보기 (default.ctp)의 코드가 아래에 표시됩니다.CakePHP 2.5 : 전역 변수 설정
컨트롤러/
public function beforeFilter() {
$this->Auth->allow('index', 'view');
$this->set('loggedIn', $this->Session->read('Auth.User'));//fix here
}
AppController.php
보기/레이아웃/default.ctp<div id="header">
<div class="top-links">
<?php if($loggedIn) { //fix here
echo $this->Html->link('Register', array('controller'=>'users','action'=>'register'));
echo ' | ';
echo $this->Html->link('Login', array('controller'=>'users','action'=>'login'));
} else {
echo $this->Html->link('My Profile', array('controller'=>'users', 'action' => 'edit', $loggedIn['User']['id']));//fix here
echo $this->Html->link('Logout', array('controller'=>'users','action'=>'logout'));
}
?>
</div>
<a href="/cake"><img src="/img/logo.png" class="top-logo" /></a>
<?php
echo $this->element('top_menu');
?>
</div>