2012-02-28 5 views
0

여전히 cakephp가있는 noob입니다. 접두사가있는 작업에 액세스하려고하지만 현재보기로 리디렉션되고 있습니다. 내가 어떻게 할 수 있니? 예 :cakephp의 접두어로 작업에 액세스

기능 admin_getID() {여기 일부 코드 ... } 내 링크

: 같은 아래 함수 되 잖아

. 나는이 HTML 도우미를 사용하여 액세스 :

$ this->, HTML> URL (배열 ('액션'=> 'getID', '관리자') => TRUE) 현재 내가 해달라고

노트 모든 접두사와 나는 접두사가있는 작업에 액세스하려고합니다.

JQuery와의 있도록 URL이 jQuery.ajax의 URL에 사용됩니다

,

jQuery.ajax ({ ... URL : ", HTML> URL (배열 ("행동 "=>"getID ","admin "=> true))?>", ... });

감사합니다.

+1

어떻게이 작업에 액세스하려고합니까? 몇 가지 코드를 보여주십시오. –

+0

안녕하세요! 나는 세부 사항을 편집했다. 친절하게 그것을 확인하십시오. 감사. – unknown

답변

0

나는 라우팅에 대해 이야기하고 있다고 생각합니다. 이 같은 관리자에 대한 작업을 정의 할 경우에 따라서 예를 들어, :

admin_index 
admin_edit 
admin_view 

를 ADN

example.com/admin/index 
example.com/admin/edit 
example.com/admin/view 

이별로 액세스가 CakePHP에서의 라우팅이라고합니다. 이 여기에 수행하는 방법을 볼 수 있습니다

http://book.cakephp.org/1.3/en/view/948/Defining-Routes

업데이트

이 다만 수

<?php echo $this->Html->link('link', array('controller' => '{CONTROLLER_NAME}', 'action' => 'getID', 'admin' => 'true')); ?> 

UPDATE를 당신은 메아리되지 않은 2

귀하의 URL. 당신은이 작업을 수행해야합니다

당신이 jQuery를 렌더링하는 PHP를 사용하지 않는 경우
jQuery.ajax({ ... url:"<?php echo $this->Html->url(array("action"=>"getID", "admin"=>true)); ?>", ... }); 

, 당신이 당신의 URL을 생성하기 위해 케이크를 사용할 수 없습니다, 당신은 수동으로해야 할 것 :의 이후

jQuery.ajax({ ... url:"/admin/CONTROLLER/getID", ... }); 
+0

안녕 척. 답장을 보내 주셔서 감사합니다. 친절하게 세부 사항을 다시 확인하고, 나는 일부 부분을 편집했다. 덕분에 – unknown

+0

사실 내 jQuery.ajax에 대한 URL을 사용하여 내 jQuery.ajax에 나는 URL이 있습니다 : " Html-> url (array ("action "=>"getID ","admin " => true))?> " – unknown

+0

한 번에 하나씩이 아니라 모든 내용을 게시물에 포함하면 도움이됩니다. 당신이 찾고있는 것에 관해 더 많은 정보를 제공하기 전까지 우리가 할 수있는 일은 더 이상 없습니다. –

1

예를 들어 같은 접두사를 사용하는 파일 core.php은 :

Configure::write('Routing.prefixes', array('admin')); 

당신은 사용해야

echo $this->Html->link('link', array('action' => 'getID', 'admin' => true)); 

그러면 링크 /admin/{your_controller}/getID이 생성됩니다.

동일한 컨트롤러의 경우 다른 컨트롤러에 표시하려는 경우 controller 매개 변수를 배열에 포함시켜야합니다.

위에서 설명한대로 Routing.prefixes 지시문을 사용하지 않는 경우 admin_getID 매개 변수를 조치 값에 추가하기 만하면됩니다.

+0

그러면 현재 위치로 리디렉션됩니다. 어쨌든 나는 $ this-> Auth-> allow()를 사용하여 몇 가지 대답을 발견했다.하지만 내 컨트롤러에서 접두어로 붙은 동작에 액세스 할 수 있도록이 방법을 사용하는 것보다 더 좋은 해결책이 있습니까? – unknown