如何将数据发送到包含在标题中的视图?

时间:2014-09-30 11:12:11

标签: php codeigniter

我有一个文件header.php,它作为标题包含在其他视图文件中。所以我需要将一些数据发送到header.php

这是我的home_view

<?php include("include/header.php"); ?>

<div class="container">
<?php include("include/sidebar.php"); ?>

 <-- here content of current view -->
</div>
<?php include("include/footer.php"); ?>

这是控制器主页:

class Admin_home extends CI_Controller {
  function __construct() {
    parent::__construct();
    $this->load->model('admin/home_model');
}       
public function index() {        
if($this->session->userdata('admin_in')) {
$result = $this->admin_home_model->get_user_count();
if($result) {
$data['user_counts'] = $result; 

$this->load->view('admin/home_view', $data);  
}

我有用户header.php中的数据,它在home_view中正常运行,但当我尝试加载其中还包含文件header.php的任何其他视图时,它会使用未定义的索引错误。 我期待一种方法,我可以将数据从控制器传递到递归包含的标头 在所有其他观点中。

2 个答案:

答案 0 :(得分:1)

您可以改为执行以下操作。

查看:

    div class="container">
<?php $this->load->view('sidebar'); ?>

 <-- here content of current view -->
</div>

<强>控制器

     class Admin_home extends CI_Controller {
      function __construct() {
        parent::__construct();
        $this->load->model('admin/home_model');
    }       
    public function index() {        
    if($this->session->userdata('admin_in')) {
       $result = $this->admin_home_model->get_user_count();
    if($result) {
       $data['user_counts'] = $result; 
       $this->load->view('header');  
       $this->load->view('admin/home_view', $data);  
       $this->load->view('footer');  
    }

答案 1 :(得分:0)

而不是<?php include("include/header.php"); ?>使用<?php $this->load->view('header'); ?>