log_message - 如何将视图加载到另一个视图codeigniter 2.1?




php ci log_message (2)

我一直在使用CI,我在CI的网站上看到你可以加载一个视图作为你发送到“主”视图的数据的可变部分,因此,根据网站(说很多东西,很多都是不像他们说... ej分页和其他)我做了这样的事情

$data['menu'] = $this->load->view('menu');
$this->load->view ('home',data);

这样做的结果是我得到了网站顶部菜单的回声(在开始我的身体和所有之前),它应该是什么都没有,就像是在所有东西之前打印的......我真的不知道这个问题,之前有没有人遇到过同样的问题?


创建一个辅助函数

function loadView($view,$data = null){
    $CI = get_instance();
    return $CI->load->view($view,$data);
}

在控制器中加载帮助程序,然后使用视图中的函数加载另一个函数。

<?php 
...
    echo loadView('secondView',$data); // $data array
...
?>

有两种方法:

  1. 提前加载它(就像你正在做的那样)并传递给另一个视图

    <?php
    // the "TRUE" argument tells it to return the content, rather than display it immediately
    $data['menu'] = $this->load->view('menu', NULL, TRUE);
    $this->load->view ('home', $data);
    
  2. 从视图中“加载”视图:

    <?php
    // put this in the controller
    $this->load->view('home');
    
    // put this in /application/views/home.php
    $this->view('menu');
    echo 'Other home content';
    






load