1

您好正在观看此视频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

我的控制器是,

登录.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设置有问题吗?或者是什么?

ps

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

MY_Controller.php 在我的核心文件夹中..

<?php

class MY_Controller extends MX_Controller {

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

}

?> 

谢谢

4

2 回答 2

0

在 My_Controller 更改

function __contsruct 

function __construct()
于 2016-02-24T10:01:07.980 回答
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);

    }
于 2018-10-17T16:21:55.970 回答