2011-11-09 2 views
0

orders라는 사이트가 있습니다.하위 폴더 및 URI 세그먼트가있는 Codeigniter

컨트롤러 폴더에는 manage :라는 하위 폴더가 있습니다. editOrder

내가 매개 변수로 $ id를 얻을 인덱스 기능을 가지고있는 editOrder 컨트롤러에서 :

거기에서 나는라는 컨트롤러를 가지고있다. 이 코드를 내 경로 파일에서 editOrder/1

:

내 양식 중 하나에서 나는에 대한 링크를 $route['editOrder'] = 'manage/editOrder'; 링크를 찾을 수 없습니다 오류 페이지를 제공합니다.

I는 다음과 같이 수동 페이지로 이동하려고 :

을 발견

$route['editOrder/(:num)'] = "manage/editOrder/$1"; 

페이지하지 : 내 경로 파일에서

: http://localhost/orders/editOrder/1 페이지 나는이 방법을 시도

를 찾을 수 없음

구성 파일을 다음으로 변경했습니다.

$config['uri_protocol'] = 'PATH_INFO'; 

$ config [ 'enable_query_strings'] = TRUE; 홈 페이지에 저를 필요

http://localhost/orders/?c=editOrder&m=index&id=1 

:

그리고이 방법을 시도했다.

id 세그먼트를 editOrder 컨트롤러에 전달하는 방법 ?????

Ahhhhhhhhhh 나는이 컨트롤러를 부를 것이다 어떻게

은 ????

+0

당신은 URL이 무엇이고 어떻게 변경/라우트되어야하는지 자세히 말할 수 있습니까? – user973254

+0

SEF URL 중 어떤 것이 작동합니까? 그렇지 않으면 htaccess 파일이 될 수 있습니다. – minboost

답변

0

확인 :

  1. 귀하의 사용자 정의 경로는이 기본 것들 ​​후에 온다. 그래서되어야합니다 :

    $route['default_controller'] = "defaultController"; 
    $route['404_override'] = ''; 
    $route['editOrder/(:num)'] = "manage/editOrder/index/$1"; 
    
  2. 컨트롤러 파일 editOrder.phpclass editOrder extends CI_Controller을 가지고 있으며, 폴더 "controllers/manage/" 안에;

  3. 사용자의 editOrder 컨트롤러에는 function index($id) {} 메서드가 있습니다.

요약하면 메서드를 호출하려면 지정할 필요가 있습니다. 라우팅의 경우에는 index() 메소드조차 지정해야한다는 의미입니다.