2012-08-03 3 views
0

어떻게 이런 일을 할 수 있는지 내 머리를.니다. 레이아웃 탐색 (layout/default.ctp)에서 "계정 수정"링크를 설정하고 싶습니다. 내가 로그인 한 사용자에게 정보 만 수정하도록 권한을 부여하고 싶습니다. (또한 컨트롤러에서 이것을 처리하여 현재 로그인 한 사용자를 확인합니다.) 그러나 레이아웃에서 어떻게합니까? 레이아웃의 CakePHP html 도우미 링크

나는이 시도하고 실패

<?php echo $this->Html->link('Your Account', array('controller' => 'users', 'action' => 'edit', $this->Auth->users('id')));?> 
+0

"실패 했음"은 무엇을 의미합니까? 뭐가 문제 야? – pleasedontbelong

+0

죄송합니다. 말씀 드렸어야합니다 - 이것이 내가 가진 것입니다 : 도우미 클래스 AuthHelper를 찾을 수 없습니다. 오류 : 내부 오류가 발생했습니다. –

답변

0

죄송합니다.

<?php echo $this->Html->link('Your Account', array('controller' => 'users', 'action' => 'edit'));?> 

을이 누군가를하는 데 도움이

$id = $this->Auth->user('id'); 
$this->User->id = $id; 

희망처럼 사용자의 컨트롤러에있는 편집 기능의 ID를 전달 :이 문제를 해결하기 위해 나는 레이아웃이 썼다.

0

더 핵심 인증 도우미가 없다. 자신의 앱 컨트롤러에서 앱을 전 세계에서 사용할 수 있도록 설정해야하는 경우 :

public $helpers = array('Auth'); 
+0

죄송합니다. 컨트롤러로는 $ this-> Auth-> users ('id')를 사용할 수 있습니다. Auth 구성 요소를 사용합니다. 레이아웃에 링크를 추가하면 어떻게 할 수 있습니까? 로그인 한 사용자가 세부 정보를 수정할 수 있습니까? –

+0

당신은'$ this-> Session-> read ('Auth.User.id')'를 사용할 수 있습니다. 하지만이 경우에는 일반적으로 ID를 전달하지 않을 것입니다. 세션을 사용하면 전달 된 인수없이 편집 작업을 수행 할 수 있습니다. – mark