Codeigniter 视图路径中的 HMVC 集成



我正在尝试将HMVC连接到代码点火器。我已经将MX文件安装到thrid_party,并将MY_Loader,MY_Loader和MY_Model上传到应用程序/核心文件夹。它工作正常

我有两个问题

1( 如何添加覆盖应用路由的模块路由

我正在通过链接访问模块localhost/domain/admin/portfolio

我尝试将路由.php添加到模块配置application/modules/portfolio/config/routes.php,并提供以下详细信息

$route['admin/portfolio'] = 'portfolio/admin/portfolio';
$route['admin/portfolio/add'] = 'portfolio/admin/portfolio/edit';
$route['admin/portfolio/edit/(:num)'] = 'portfolio/admin/portfolio/edit/$1';

在我的根应用程序配置上已经添加了路由

$route['admin'] = 'admin/login';

由于application/config/routes.php中的此路由"admin/login",它显示找不到页面。为了解决这个问题,我目前添加了module/portfolio/config/routes`` above the 'admin/login'. Is there any other method instead of adding it to the应用程序/配置/路由'。

2( 如何访问模块视图文件 我有控制器从application/controlles/admin/访问视图文件

$this->load->view('admin/view_header',$data);
$this->load->view('admin/view_portfolio',$data);
$this->load->view('admin/view_footer');

您已将投资组合控制器置于

application/modules/portfolio/controllers/admin

这很好。

您的路由(默认情况下将命中索引(应该是

$route['admin/portfolio'] = 'portfolio/admin/portfolio';

旁白:其他命名注意事项

我倾向于做的是创建一个名称中带有管理员的控制器......

所以我会有PortfolioAdmin.php或类似的东西,所以当我在编辑器/IDE 中使用它时,我知道文件名是管理员"东西"。

更新:关于您的

Nor this works Modules::run('admin/portfolio', $data);

因此,您将使用完整的控制器名称...不要使用路由,它们用于 URL。要从另一个模块调用的任何模块,您始终使用全名。

Modules::run('portfolio/admin/portfolio', $data);

最新更新