如何在codeigniter中的核心函数中加载视图文件

时间:2017-06-25 07:35:24

标签: php codeigniter

我试图在application / core / MY_Controller.php中加载视图文件,但其给出如下。

Message: Undefined property: Edustaticlanding::$load

Filename: core/MY_Controller.php

MY_Controller.php中的功能如下

function menu(){
    $arrr = array();
    return $arrdata['menu'] = $this->load->view('menu',$arrr,true);
}

我在控制器(Edustaticlanding.php)中调用此函数如下。

function __construct(){
    $this->menucontent = $this->menu();
    print_r($this->menucontent); die;
}

请纠正我..哪里出错..谢谢

3 个答案:

答案 0 :(得分:2)

extends CI_Controller添加到核心控制器,如下面的代码:

class MY_Controller extends CI_Controller {

答案 1 :(得分:2)

请检查下面提到的解决方案。您需要先调用父构造函数。所以它将加载所有基本配置。

第一个范围CI_Controller类并调用父构造函数,如下面的描述

class MY_Controller extends CI_Controller {

   public function __construct{
       parent::__construct();
   }

}

如果不起作用,请告诉我。

答案 2 :(得分:2)

在application / core / MY_Controller.php

如下所示添加公开$data = array()

<?php

class MY_Controller extends CI_Controller 
{
    public $data = array();

    public function __construct()
    {
        parent::__construct();

        $this->data['menu'] = $this->menu();
    }

    public function menu(){
        return $this->load->view('menu', NULL, TRUE);
    }
}

在控制器上然后添加public $ data = array();您可以访问视图中的菜单

  

您必须立即在控制器上使用$this->data

<?php

class Example extends MY_Controller {

    public $data = array();

    public function index() {

        $this->data['title'] = 'Welcome to Codeigniter';

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

    }
}   

现在,您可以在示例视图中回显

<?php echo $menu;?>