Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter 编码点火器HMVC和CMS_Codeigniter_Routing_Hmvc - Fatal编程技术网

Codeigniter 编码点火器HMVC和CMS

Codeigniter 编码点火器HMVC和CMS,codeigniter,routing,hmvc,Codeigniter,Routing,Hmvc,我正在使用带有HMVC模块扩展的Codeigniter,并且有一个用于管理网站内容的后端CMS区域。我正在将基本URL+“admin”()路由到前缀为“admin\的控制器方法” e、 g.函数admin_index(){…} 以下是我的路线: $route['admin/([a-zA-Z]+)/(:any)'] = "$1/admin_$2"; $route['^admin/(:any)(/)?'] = "$1/admin_index"; $route['^admin(/)?'] = "das

我正在使用带有HMVC模块扩展的Codeigniter,并且有一个用于管理网站内容的后端CMS区域。我正在将基本URL+“admin”()路由到前缀为“admin\的控制器方法”

e、 g.函数admin_index(){…} 以下是我的路线:

$route['admin/([a-zA-Z]+)/(:any)'] = "$1/admin_$2"; $route['^admin/(:any)(/)?'] = "$1/admin_index"; $route['^admin(/)?'] = "dashboard/admin_index"; $route['admin/logout'] = "login/admin_logout"; $route['admin/([a-zA-Z]+)/(:any)]=“$1/admin_$2”; $route['^admin/(:any)(/)?']=“$1/管理员索引”; $route['^admin(/)?']=“仪表板/管理员索引”; $route['admin/logout']=“login/admin\u logout”; 对于HMVC,它现在没有正确的路由。发生的情况如下:

URL: http://localhost/cms/admin/faqs Directory: modules/faqs/controllers/faqs - index method -- here is where it breaks -- URL: http://localhost/cms/admin/faqs/categories Directory: modules/faqs/controllers/faqs - categories method (does not exits) Desired: modules/faqs/controllers/categories - index method 网址:http://localhost/cms/admin/faqs 目录:模块/常见问题/控制器/常见问题-索引方法 -- 这就是它的断裂之处 -- 网址:http://localhost/cms/admin/faqs/categories 目录:模块/常见问题/控制器/常见问题-类别方法(不存在) 所需:模块/常见问题解答/控制器/类别-索引方法
如何在维护网站的“管理员”功能的同时使用HMVC?

将前端和后端功能放在同一个控制器中会让生活变得有点棘手。请看我在上的文章。

我正在做类似的工作,并像您一样实现了交换(第三个选项),效果很好

我尝试实现一个前端控制器来处理管理部分,并使用HMVC modules::run()运行模块,并按照我的意愿缓冲输出,但随后我遇到了另一个问题,您必须将URI方案从/更改为u或其他内容,因为CI依赖“/”作为其路由机制,所以无法将模块段作为参数发送到控制器

唯一的方法是按照Phil的建议模拟admin部分,但是还有另一个选项可以控制任何使用CMS的人实现的代码

您可以扩展CI_控制器(或MX_控制器,如果您正在使用HMVC),并添加一个管理_控制器,该控制器将处理您的逻辑并控制模块的功能


看看这个

并不是最聪明的孩子,但在一个地方管理和路由管理员并不容易(例如,
admin
controller和
admin/faq
功能)HMVC的目的是提供一种模块化结构,您可以按原样拾取整个文件夹并将其放入另一个安装中,就像模块一样。你想做的事和我想做的事是行不通的。谢谢:)我以前看过这篇文章,但只是略读了一下。乍一看,第三种选择可能是最好的解决方案。非常感谢。 URL: http://localhost/cms/admin/faqs Directory: modules/faqs/controllers/faqs - index method -- here is where it breaks -- URL: http://localhost/cms/admin/faqs/categories Directory: modules/faqs/controllers/faqs - categories method (does not exits) Desired: modules/faqs/controllers/categories - index method