Проблемы с вложенными папками Codeigniter HMVC

#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 модулями, и у меня он отлично работает.