【问题标题】:how to load view into another view codeigniter 2.1?如何将视图加载到另一个视图 codeigniter 2.1?
【发布时间】:2012-03-13 06:15:20
【问题描述】:

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

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

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

【问题讨论】:

    标签: codeigniter view load


    【解决方案1】:

    两种方法:

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

    【讨论】:

    • 嗨,非常感谢,我正准备回答这个问题,但我的用户观点不允许我这样做...问题是第三个参数 FALSE,我不知道...谢谢
    • 谢谢。 Null 是这种情况下最重要的参数。
    • 方式1简单实用,无需任何库。谢谢。
    • 如何将数组加载到第二个视图中,因此使用上面的示例 1 $this->load->view('menu',DATA_ARRAY, TRUE)
    • @frobak 你明确地通过它们 $this->view('menu', compact('menu'));
    【解决方案2】:

    创建辅助函数

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-13
      • 1970-01-01
      • 1970-01-01
      • 2018-09-05
      • 1970-01-01
      相关资源
      最近更新 更多