codeign HMVC版本3.0.6视图无法加载

时间:2016-10-04 05:40:40

标签: codeigniter-3 hmvc

下面的内容是我在HMVC代码中制作的模板的控制器。我试图在我的任务模块中加载此模板模块但由于某种原因它不会加载模板模块,但数据加载在我的任务控制器中。

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class templates extends MX_Controller
{
    /**
     * Index Page for this controller.
     *
     * Maps to the following URL
     *      http://example.com/index.php/welcome
     *  - or -
     *      http://example.com/index.php/welcome/index
     *  - or -
     * Since this controller is set as the default controller in
     * config/routes.php, it's displayed at http://example.com/
     *
     * So any other public methods not prefixed with an underscore will
     * map to /index.php/welcome/<method_name>
     * @see https://codeigniter.com/user_guide/general/urls.html
     */

    public function one_col($data)
    {
        $this->load->view('one_col',$data);
    }

    public function two_col($data)
    {
        $this->load->view('two_col',$data);
    }

    public function admin($data)
    {

         $this->load->view('admin', $data); 
    }

    public function index()
    {
        echo "Hello world";
    }
}

下面这段代码是我的任务控制器,当我在链接http://localhost:81/hmvc/index.php/tasks中运行它时它工作正常但是当我尝试运行模板视图&#34; two_col&#34; http://localhost:81/hmvc/index.php/templates/two_col

在模板中使用此代码

<?php $this->load->view($module.'/'.$view_file); ?>

我收到此错误: picture error

下面的任务模块控制器

<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class tasks extends MX_Controller
{
    /**
     * Index Page for this controller.
     *
     * Maps to the following URL
     *      http://example.com/index.php/welcome
     *  - or -
     *      http://example.com/index.php/welcome/index
     *  - or -
     * Since this controller is set as the default controller in
     * config/routes.php, it's displayed at http://example.com/
     *
     * So any other public methods not prefixed with an underscore will
     * map to /index.php/welcome/<method_name>
     * @see https://codeigniter.com/user_guide/general/urls.html
     */

    public function index()
    {
        $this->load->model('mdl_tasks');
        $data['query'] = $this->mdl_tasks->get('priority');
        #$this->load->view('display', $data);
        $data['view_file'] = "display";
        $data['module'] = "tasks";
        echo Modules::run('templates/two_col', $data);
        #$this->load->module('templates');
        #$this->templates->two_col($data);        
    }
}

1 个答案:

答案 0 :(得分:1)

 echo Modules::run('templates/two_col', $data);
        #$this->load->module('templates');

将这些代码替换在一起。我很确定它会起作用。