Codeigniter与子文件夹和uri段

时间:2011-11-09 07:05:26

标签: codeigniter uri segments

我有一个名为:orders的网站。

在controllers文件夹中,我有一个名为:manage。

的子文件夹

在那里我有一个名为:editOrder

的控制器

在editOrder控制器中,我有一个索引函数,它将$ id作为参数。

在我的一个表单中,我有一个链接:editOrder / 1

在我的路线文件中,我有以下代码:$route['editOrder'] = 'manage/editOrder'; 该链接指出找不到错误页面。

我尝试手动转到该页面,如下所示:http://localhost/orders/editOrder/1 页面未找到

我试过这种方式:

在我的路线档案中:

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

找不到网页

我已将配置文件更改为:

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

$ config ['enable_query_strings'] = TRUE;

并试着这样:

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

带我到主页。

如何将id段传递给editOrder控制器?????

Ahhhhhhhhhh

我该怎么称呼这个控制器????

1 个答案:

答案 0 :(得分:0)

确保:

  1. 您的自定义路线位于2个默认路线之后。所以它应该是:

    $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) {}方法;

  4. 总而言之,如果您要调用方法,则需要指定它。在路由的情况下,这意味着您必须指定甚至index()方法。