【问题标题】:HMVC Integration in Codeigniter view pathsCodeigniter 视图路径中的 HMVC 集成
【发布时间】:2020-06-14 12:05:52
【问题描述】:

我正在尝试将 HMVC 集成到 codeigniter。我已将 MX 文件安装到 thrid_party 并将 MY_Loader 、 MY_Loader 和 MY_Model 上传到 application/core 文件夹。它工作正常

我有两个问题

1) 如何添加覆盖应用程序路由的模块路由

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

我已尝试将 routes.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 中的这条路线“管理员/登录”,它显示找不到页面。为了解决这个问题,我目前添加了module/portfolio/config/routes`` above the 'admin/login'. Is there any other method instead of adding it to theapplication/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');

【问题讨论】:

  • 您如何授权访问,看起来是什么,管理功能?
  • 我已经更新了关于你的 modules::run 命令的答案。

标签: php codeigniter hmvc


【解决方案1】:

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

application/modules/portfolio/controllers/admin

这很好。

你的路线(默认会到达索引)应该是

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

除此之外:其他命名注意事项

我倾向于创建一个名称为 admin 的控制器...

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

更新: 关于你的

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

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

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

【讨论】:

  • 我已经更新了内容。它仍然无法正常工作。我已经复制了模块位置是否正确
猜你喜欢
  • 2011-09-11
  • 1970-01-01
  • 2012-06-21
  • 1970-01-01
  • 2014-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-03-25
相关资源
最近更新 更多