#php #codeigniter #hmvc
#php #codeigniter #hmvc
Вопрос:
Я столкнулся с проблемой при использовании вложенных папок с Codeigniter HMVC.
/system/application/modules/welcome/controllers/staff/welcome.php
Чтобы получить к этому доступ, я должен получить к нему доступ черезhttp://www.app.com/welcome/staff/welcome
К сожалению, это не соответствует остальной части моей структуры URL.
Как я могу удалить первое приветствие из URL, чтобы URL былhttp://www.app.com/staff/welcome
Я попытался добавить маршрут внутри модуля:
/system/application/modules/welcome/config/routes.php
Нравится:
$route['staff/welcome'] = "welcome/staff/welcome";
но, к сожалению, безуспешно.
Добавление этого маршрута к реальному файлу маршрута codeigniter работает, но я чувствую, что добавление кода, внешнего по отношению к модулям, чтобы заставить модули работать, упускает смысл принятия модульности.
Я надеюсь, что кто-нибудь сможет помочь.
Спасибо,
Тим
Комментарии:
1. Вам когда-нибудь удавалось заставить модуль, специфичный для
/config/routes.php
, работать должным образом? Если да, не могли бы вы поделиться, каким образом?
Ответ №1:
Эта строка в вашем routes.php правильно:
$route['staff/welcome'] = "welcome/staff/welcome";
Вы можете попробовать поиграть с порядком следования ваших правил маршрутизации и поместить правило для контроллера по умолчанию ($route[‘default_controller’] = «home»;) в конце. У меня есть проект с 4 модулями, и у меня он отлично работает.