Php 视图未渲染Codeigniter HMVC

Php 视图未渲染Codeigniter HMVC,php,codeigniter,hmvc,codeigniter-hmvc,Php,Codeigniter,Hmvc,Codeigniter Hmvc,我试图在Codeigniter HMVC中制作一个CRUD模块,但在这个过程中我似乎遗漏了一些东西。这就是我面临的问题 我有一个具有管理功能的新闻模块 function manage(){ $grid = Modules::run('Crud/renderGrid', 'News' , 'News management'); } 渲染网格函数 function renderGrid($module , $page_title){ $data['pag

我试图在Codeigniter HMVC中制作一个CRUD模块,但在这个过程中我似乎遗漏了一些东西。这就是我面临的问题

我有一个具有管理功能的新闻模块

function manage(){
        $grid = Modules::run('Crud/renderGrid', 'News' , 'News management');

    }
渲染网格函数

function renderGrid($module , $page_title){

        $data['page_title'] = $page_title; //Dynamic
        $data['module'] = $module; 
        $data['view_module'] = 'Crud';
        $data['displayfields'] = Modules::run($module.'/get_displayfields');
        $data['key'] = Modules::run($module.'/get_key');
        $data['rows'] = Modules::run($module.'/get' , $data['key']);
        $data['view_file'] = 'manage';

        $this->load->module('dashboard');
        $this->dashboard->show_dashboard($data);
    }
这里,show_dashboard函数只是加载一个模板布局,其中包含所需的视图

function show_dashboard($data = NULL){
        if($data == NULL){
            $data['view_file'] = "manage";
            $data['page_title'] = 'Sigma Web Solutions';
        }

        $this->load->module('templates');
        $this->templates->admin($data);
    }
模板->管理

function admin($data){
        $this->load->view('admin' , $data);
    }
视图(省略页眉和页脚)


现在,当我尝试url news/manage时,它会给我一个没有源代码的空白页面。但是当我尝试类似

crud/renderGrid/news/sometitle/it工作正常。

请指出我错过了什么。谢谢

工作解决方案:

多亏了沃尔夫,我增加了一条路线

$route['managenews']='crud/renderGrid/news/news'


它就像魅力一样。但是为什么我需要一条路线呢?难道它不应该起作用吗。这意味着对于每个模块,我需要在路由文件中有4个条目,CRUD系统才能工作。有人能推荐一个更好的方法吗?

每个控制器是否扩展MX\U控制器,您是否还需要创建一些路由?是的,所有控制器都扩展MX\U控制器。嗯,我不太确定这种情况是否需要路由,因为我正在调用一个函数,而这个函数反过来又在加载一个视图。在这种情况下我们需要一条路线吗?可能需要。我会试试以防万一<代码>$route['something']=“模块文件夹/控制器/功能”模块文件夹将是模块>模块文件夹之后的文件夹,仅将模块文件夹作为示例名称命名。您希望我在Crud函数或新闻函数中使用它吗?这一切取决于您只需查看它是否适用于设置的路由。
<?php
                if (!isset($view_file)) {
                    $view_file = "";
                }


                if (!isset($view_module)) {
                    $module = $this->uri->segment(1);
                }


                if (($view_module!="") && ($view_file!="")) {

                    $path = $view_module."/".$view_file;
                    $this->load->view($path);
                }


                ?>