2012-06-14 2 views
0

내보기에 페이지 언어를 변경하는 데 사용하는 링크가 있습니다. 인덱스, 추가 페이지가 모두 괜찮습니다. 그러나 URL 끝의 ID 번호가있는 단일 기사의 "편집"또는 "보기"페이지에서이 번호는 어떻게 든이 링크에서 생략되었습니다. 링크는CakePHP htmlhelper 링크 메소드가 요청 URL의 id 매개 변수를 생략했습니다.

http://www.xxxxxx.com/index.php/categories/view/lang:chi 

이됩니다. 분명히 ID 번호가 없습니다. 링크 뷰 파일의 링크를 생성하려면이

http://www.xxxxxx.com/index.php/categories/view/5/lang:chi 

코드처럼해야 할 것은 마지막에 ID 번호와 URL 만 데 왜 모르겠어요이

$this->Html->link($language, array('lang' => $code)); 

입니다 그런 문제. 나는 컨트롤러 뷰 액션이 다음과 같이되도록 베이크를 사용했다 :

public function view($id = null) { 
      $this->Category->id = $id; 
      if (!$this->Category->exists()) { 
        throw new NotFoundException(__('Invalid category')); 
      } 
      $this->set('category', $this->Category->read(null, $id)); 
    } 

아무도 모른다.

답변

0

링크 배열에 ID를 지정하지 않으면이 ID가 사용되지 않습니다. 당신이 그들을 생략한다면 추가 된 유일한 "마법"은 컨트롤러와 액션입니다. 당신은 링크를 만들 때 ID를 전달해야합니다

:

$this->Html->link($language, array('lang' => $code, $id)); 
+0

감사합니다. 이 작동합니다. 비록 내가 $ this-> request-pass [0]을 사용한 ID의 존재를 확인해야만한다. 존재한다면 $ id로 사용한다. 다른 쉬운 방법? – Hao

+0

'$ this-> set ('id', $ id);와 같이 어쨌든 전달 되었기 때문에 컨트롤러에 설정할 수 있습니다. – jeremyharris

관련 문제