我想通过调用一次全局加载数据,而不是在控制器中的每个函数内调用相同的数据。 我做了
MY_Controller.php
<?php
class MY_Controller extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper(array('form', 'url','file'));
$this->load->model('common/common_model');
$data['header_menus'] = $this->common_model->categoryMenus();
}
}
这个文件在核心文件夹内,在控制器文件夹中有一个控制器,我做了
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Home extends MY_Controller {
在家庭控制器中加载函数时如何在视图中加载$ data ['header_menus']我是否需要在函数中再次使用该变量做什么?
答案 0 :(得分:1)
在View文件夹中创建一个视图并在控制器中加载该视图,在控制器中进行更改:
例如,您的视图名称是视图文件夹中的display_view.php:
<强> MY_Controller.php 强>
<?php
class MY_Controller extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->helper(array('form', 'url','file'));
$this->load->model('common/common_model');
$data['header_menus'] = $this->common_model->categoryMenus();
$this->load->view('tour/view',$data);
}
}
<强> display_view.php 强>
<?php
if(!empty($header_menus)) {
extract($header_menus);
}
print_r($header_menus); // you can get all the info here
?>
答案 1 :(得分:0)
检查继承。
$data['header_menus'] = $this->common_model->categoryMenus();
必须是
$this->data['header_menus'] = $this->common_model->categoryMenus();
在扩展控制器中,您需要使用
调用它$this->data['header_menus'];
也可以将$this->data
数组用于其他变量,并使用以下内容调用视图:
$this->load->view('some_view_file', $this->data);