查看未呈现的Codeigniter HMVC

时间:2015-05-31 16:24:29

标签: php codeigniter hmvc codeigniter-hmvc

我正在尝试在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);
    }

视图(省略页眉n页脚)

<?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);
                }


                ?>

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

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

请指出我在这里想念的是什么。感谢。

工作解决方案:

感谢狼,我添加了一条路线

$ route [&#39; managenews&#39;] =&#39; crud / renderGrid / news / News&#39;;

它就像魅力一样。但为什么我需要一条路线呢?不应该只是工作。这意味着对于每个模块,我需要在路由文件中有4个条目才能使CRUD系统正常工作。任何人都可以提出更好的方法吗?

0 个答案:

没有答案