Php Codeigniter视图路径中的HMVC集成
我试图将HMVC聚合到codeigniter。我已将MX文件安装到第三方,并将MY_Loader、MY_Loader和MY_Model上载到application/core文件夹。它工作得很好 我有两个问题 1) 如何添加覆盖应用程序路由的模块路由 我通过链接Php Codeigniter视图路径中的HMVC集成,php,codeigniter,hmvc,Php,Codeigniter,Hmvc,我试图将HMVC聚合到codeigniter。我已将MX文件安装到第三方,并将MY_Loader、MY_Loader和MY_Model上载到application/core文件夹。它工作得很好 我有两个问题 1) 如何添加覆盖应用程序路由的模块路由 我通过链接localhost/domain/admin/portfolio 我已经尝试将routes.php添加到modules configapplication/modules/portfolio/config/routes.php,详细信息如下
localhost/domain/admin/portfolio
我已经尝试将routes.php添加到modules configapplication/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”路由,它显示未找到的页面。为了解决这个问题,我目前在“admin/login”上方添加了module/portfolio/config/routes``。是否有其他方法代替将其添加到
application/config/routes`
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'代码>
旁白:其他命名注意事项
我倾向于创建一个名为admin的控制器
所以我会使用PortfolioAdmin.php或者类似的东西,所以当我在编辑器/IDE中使用它时,我通过文件名知道它是admin“Stuff”
更新:
关于你的
Nor this works Modules::run('admin/portfolio', $data);
因此,您将使用完整的控制器名称。。。不要使用路由,它们用于URL。您要从另一个模块调用的任何模块始终使用全名
Modules::run('portfolio/admin/portfolio', $data);
您是如何授权访问管理功能的?我已经更新了关于您的modules::run命令的答案。我已经更新了内容。它仍然不起作用。我已复制模块位置,是否正确