2013-11-25 3 views
0

Я использую два контроллера в подпапках, но мне нужно показать только имя функции в URL, а не контроллеры.Контроллеры управления подпапками управления Codeigniter

$route['admin/test'] = "admin/sample/test"; 

$route['admin/test1'] = "admin/index/test1"; 

Администратор находится подкаталог под контроллером.

Индекс и Образец являются контультерами.

ответ

1

Ваш файл маршруты должны быть, как это

$route['test'] = 'admin/sample/test'; 
$route['test1'] = 'admin/index/test1'; 

Кроме того, я хотел бы предложить, чтобы не иметь контроллер с именем индекса. index() обычно является функцией по умолчанию в каждом контроллере :)

+0

Большое спасибо. он работает, но для каждой функции, созданной в двух контроллерах, мне нужно создать новый маршрут в routes.php, не так ли. – PrabhuPHP

1

Для Codeigniter 3 это проще, перенаправить все методы на контроллер, это можно сделать с помощью регулярного выражения.

$route['admin/([^/]+)'] = 'admin/sample/$1'; 

Документация: https://codeigniter.com/user_guide/general/routing.html#regular-expressions

в $ 1 представляет собой первое регулярное выражение ключа массива, регулярное выражение должно идти в скобках. Если вы используете больше выражений, вы можете использовать $ 1, $ 2, $ 3 ... и т. Д.

Смежные вопросы