2009-11-06 2 views
0

캘린더 기능을 내 시스템에 추가 할 계획입니다. 그러나 원하는 주소로 연결되지 않는 링크가 엉망이되었습니다 .. 나는 아직 cakephp에 익숙하지 않습니다. 이해하기 위해서는 도움이 필요합니다. 코드와 내가 올바른 주소를 가리키는 올바른 길을 원한다 ..이 상황에서 정확한 주소를 가리키는 방법! 도움이 필요합니다

여기 컨트롤러의 코드 중 일부가 다른 곳에서 실행하는 데 문제가되지 않는다. .. 내가 링크를 누르면 내 데이터를보고 싶은데, 내 설정에없는 다른쪽에 바로 건너 뜁니다. 세부에서

// here is the declaration which in the original controller that i learn from the net. 

$view_base_url = $this->webroot. 'calendars'; 

//this the original link that i using which cant point to my correct side. 

$data[$day] .= 'a href="'.$view_base_url.'/view/'. $v['Calendar']['id'] . '">' . $v['Calendar']['name'] . '</a>'; 

, 는 내가 가리키는 링크의 단지 달력 /보기/ID로 내 옆에 링크 싶었다. 이 코드를 사용하면 app/webroot/view/id쪽으로 리디렉션됩니다. $ this-> webroot를 변경하여 원하는 곳으로 연결할 수 있습니까 ?? $ this-> webroot를 사용하지 않으면 캘린더의 다른 페이지를 클릭하는 동안 리디렉션 할 수 없습니다.

나는 가볍기 때문에 설명이 어려울 수 있습니다. 아무도 나에게 내가 할 수있는 말을 친절하게 말할 수 없다.

답변

1

응용 프로그램 내에서 링크를 만들려면 Router 클래스를 사용해야합니다. 예를 들어 :

Router::url(array('controller' => 'my_controller', 'action' => 'view', $id)); 
// returns, for example, /my_controller/view/5 

Router::url(array('controller' => 'my_controller', 'action' => 'view', $id), true); 
// returns, for example, http://example.com/root_directory/my_controller/view/5 

이 메서드는 HTML 도우미에 의해, 예를 들어, 케이크 전반에 걸쳐 많은 기능에 의해 사용됩니다 Router 반환 app/config/routes.php에 정의 된 경로를 기반으로하는

echo $html->link('My Link', array('controller' => 'my_controller', 'action' => 'view', $id)); 
// echos: 
<a href="/my_controller/view/5">My Link</a> 

URL을. 이렇게하면 편리한 바로 가기를 정의 할 수 있습니다.

Router::connect('/view/*', array('controller' => 'my_controller', 'action' => 'view')); 

echo $html->link('My Link', array('controller' => 'my_controller', 'action' => 'view', $id)); 
// echos: 
<a href="/view/5">My Link</a> 

이렇게하면 Cake 응용 프로그램의 모든 링크를 처리해야합니다. HTML 헬퍼를 사용하여보기에서만 컨트롤러에 링크를 만들면 안됩니다. 드문 경우 컨트롤러에 링크가 필요하면 Router::url()을 사용하십시오.

+0

정보를 확인 하시겠습니까? 정말 도움이됩니다. –

관련 문제