Codeigniter с подпапками и сегментами URI - PullRequest
0 голосов
/ 09 ноября 2011

У меня есть сайт с именем: orders.

В папке контроллеров у меня есть подпапка с именем: 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

Это приведет меня на домашнюю страницу.

Как передать сегмент идентификатора вeditЗаказать контроллер ?????

Аааааа

Как бы я назвал этот контроллер ????

1 Ответ

0 голосов
/ 09 ноября 2011

Убедитесь, что:

  1. Ваш пользовательский маршрут идет после 2-х по умолчанию.Так должно быть:

    $route['default_controller'] = "defaultController";
    $route['404_override'] = '';
    $route['editOrder/(:num)'] = "manage/editOrder/index/$1";
    
  2. Ваш файл контроллера editOrder.php имеет class editOrder extends CI_Controller и находится в папке "controllers/manage/";

  3. Ваш контроллер editOrder имеет метод function index($id) {};

Подводя итог, если вы собираетесь вызывать метод, вам нужно его указать.В случае маршрутизации это означает, что вы должны указать даже метод index ().

...