2014-05-20 7 views
1

App Controller 코드는 탐색 모음의 기능입니다.cakephp : AppController가 다른 컨트롤러와 충돌합니다.

의 AppController

public function beforeFilter() { 
     parent::beforeFilter(); 
     $this->RememberMe->restoreLoginFromCookie(); 
     $this->set('server_root', Router::url('/')); 

     $this->loadModel('Recipe'); 
    $this->set('recipes', $this->Recipe->find('all')); 

모든 모든 페이지가 탐색 모음과 모든 페이지가 제대로 작동 나는 "레시피"값으로 생성 될 필요가있는 드롭 다운 선택을 추가 할 때까지의 모든 탐색 모음을 보여줍니다 잘 작동합니다.

KitchenController는

이 내가 뭔가를 드롭 다운을 작성

$this->set('recipes', $this->Recipe->find('all',array('fields'=>array('Recipe.description')))); 

드롭 다운 선택을 채우는 데 사용하는 코드이지만 그러나 내가하고 싶지만 조금 가까운 정확히 값, 또한 탐색 막대에 영향을 주어 정의되지 않은 변수와 같은 오류가 발생했습니다. 어떻게 든 그것은 또한 모델 "Recipe"를 사용하는 navbar에 영향을 미친다.

질문 1 : 그것은 탐색 모음에 영향을 미치지 않도록하는 방법은 드롭 다운 선택을 분리 할 수 ​​있습니다 컨트롤러 문제 질문 2 :? 나는 배열에서 특정 분야 호출 할 수있는 방법은 현재이 코드 때문에

$this->set('recipes', $this->Recipe->find('all',array('fields'=>array('Recipe.description')))); 

는 ID, 날짜 및 설명을 반환하며 설명 만 필요합니다.

어떤 도움 당신이 두 개의 서로 다른 출력과 같은 변수를 사용할 때 문제가 같은보기 변수 이름 "레시피"를 설정하는 것 감사

+1

nav_recipes 또는 조리법

또는 응용 프로그램 컨텍스트에 대한 정확한 무언가 : 당신이 좋아하는 변수 이름을 변경해야합니다 . beforeFilter에서 모델을로드하고 변수를 설정하는 것은 _bad 아이디어입니다. 모든 페이지가 적어도 _Render_ 이전의 _Render_ 함수에 있어야한다면, 요청이 리다이렉트되었을 때조차도 레시피를 찾지 못하거나 그렇지 않으면 뷰가 없다. – AD7six

답변

3

을 감사합니다. 당신이 사방 라우터에 액세스 할 수 있습니다 -은`server_root` 변수에 대한 필요가 없습니다

관련 문제