Я хочу «глобальную ссылку» для каждого модуля, как это:маршрутизации внутри модулей Codeigniter HMVC
Внутри приложение/Config/routes.php
$route['search'] = 'searchPage';
если пользователь вводит поиск в url ему нужно перейти в модуль searchPage, там есть маршруты внутри модуля. Или это мой план, я хочу, чтобы в этом модуле была настроена по умолчанию.
Внутри модули/searchPage/конфигурации/routes.php
$route['searchPage'] = 'Welcome/showMessage';
перейти в окно приветствия контроллера с функцией ShowMessage.
-modules
--searchPage
---config
----routes.php
---controllers
---views
---models
внутри моего приветствия контроллера:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Welcome extends MX_Controller {
public function showMessage()
{
$this->load->view('test');
}
}
?>
Версия: Wiredesignz 5,5 и CodeIgniter 3.0.3
Но это не работает. Может кто-нибудь объяснить, почему это не работает?
Я нашел решение:
Я поместил этот код в приложении/Config/routes.php
$modules_path = APPPATH.'modules/';
$modules = scandir($modules_path);
foreach($modules as $module)
{
if($module === '.' || $module === '..') continue;
if(is_dir($modules_path) . '/' . $module)
{
$routes_path = $modules_path . $module . '/config/routes.php';
if(file_exists($routes_path))
{
require($routes_path);
}
else
{
continue;
}
}
}
И внутри модулей/searchPage/Config/routes.php
$route['searchPage'] = 'searchPage/Welcome/showMessage';
как вы идете вы пытались какие-либо ответы – user4419336
@ wolfgang1983 Я добавил решение в моем сообщении – da1lbi3
@ da1lbi3, но почему вы не ставите этот маршрут '$ route ['searchPage'] = 'searchPage/Welcome/showMessage';' внутри основного (и должен быть единственным каталогом конфигурации) маршрута файл, как я предлагаю в своем ответе? – David