2017-06-25 49 views
3

我正在试图在application/core/MY_Controller.php中加载视图文件,但它给出如下。如何在codeigniter的核心函数中加载视图文件

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

请指正..哪里它去错了..谢谢

回答

2

在应用/核心/ 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); 
    } 
} 

在控制器然后一次性添加公共$数据=阵列();您可以访问菜单视图

你必须使用$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;?> 
2

添加extends CI_Controller到你的核心控制器类似以下代码:

class MY_Controller extends CI_Controller { 
2

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

首先程度CI_Controller类和调用,比如父类的构造描述如下

class MY_Controller extends CI_Controller { 

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

} 

请,如果它不工作让我。

+0

我已经这样做了..我忘了在 函数__construct(){ parent :: __ construct();中忘记添加父:: _构造()。 $ this-> menucontent = $ this-> menu(); print_r($ this-> menucontent);死; } –

相关问题