hmvc消息:未定义的属性:CI :: $ Templates代码点火器

时间:2016-02-24 06:48:28

标签: php codeigniter hmvc codeigniter-hmvc

您正在观看此视频https://www.youtube.com/watch?v=DS0GeknUkds以设置我的hmvc模板。我已经尝试调用其他模块,但我收到了错误

Severity: Notice

Message: Undefined property: CI::$Templates

Filename: MX/Controller.php

Line Number: 59

我有这个模板文件夹,带有控制器文件Templates.php

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

class Templates extends MY_Controller{

    public function views($data = NULL){

        $this->load->view('templates/one_view');
    }
}

?>

如果我直接调用它,这完全有效。但问题出在我的登录模块上。(http://localhost/ci_hmvc/index.php/login/index)我收到错误,

Message: Undefined property: CI::$Templates

Filename: MX/Controller.php

Line Number: 59 

Severity: Error

Message: Call to a member function views() on null

Filename: controllers/Login.php

Line Number: 10

我的控制器是,

的login.php

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

class Login extends MY_Controller{


    public function index(){

        $data['content_view'] = 'login/login_view';
        $this->Templates->views($data);

    }
}

?>

我该如何解决这个问题? hmvc设置有问题吗?或者什么?

p.s

我把它扩展到MY_Controllers,因为我有这个文件,

我的核心文件夹上的

MY_Controller.php ..

<?php

class MY_Controller extends MX_Controller {

    function __contsruct()
    {
        parent::__construct();
        $this->load->module('Templates');
    }

}

?> 

感谢

2 个答案:

答案 0 :(得分:0)

在My_Controller中更改

function __contsruct 

function __construct()

答案 1 :(得分:0)

您有设置或添加模块路径吗? 如果还没有。您可以这样设置application / config / config.php

$config['modules_locations'] = array(
    APPPATH.'modules/' => '../modules/',
);

然后您的login.php更改了

public function index(){

        $data['content_view'] = 'login/login_view';
        $this->Templates->views($data);

    }

收件人

public function index(){

        $data['content_view'] = 'login/login_view';
        $this->templates->views($data);

    }