将相同数据传递给多个视图codeigniter

时间:2017-09-11 16:28:46

标签: php codeigniter

您能否给我一些关于CI

中的加载视图的指示
$this->load->view('maindata', $data);
$this->load->view('footerdata', $data);

将同一个变量传递给多个视图是不是很糟糕?为什么? 这两个视图需要一些相同的数据

3 个答案:

答案 0 :(得分:1)

你可以访问$ data变量,例如mandata view的title和$ footer_data to footerdata view。

$data['title'] = "Welcome";
$data['user_name'] = "John Doe";

$data['footer_text'] = "This is Footer";
$this->load->view('maindata', $data);

$this->load->view('footerdata', $data);

答案 1 :(得分:0)

在这种情况下,传递相同的数据并不错。但是,可能有更好的选择,请参阅下面的示例,了解一个想法。

当我设置我的网站时,我尝试使页眉和页脚尽可能通用,然后从视图中加载它们。所以,我的视图代码如下所示:

控制器:

public function page() {
    ...
    $this->load->view('main', $data);
}

查看(main.php):

<?php $this->load->view('header'); ?>
<!-- HTML -->
<?php $this->load->view('footer'); ?>

使用此方法,传递给主视图的所有数据都在每个“子视图”(页眉和页脚)中定义。

答案 2 :(得分:0)

使用下一个语法来满足这样的要求:

$this->load->vars($data);

$this->load->view('maindata');
$this->load->view('footerdata');

这样,$data数组将可用于任何加载的视图。 Docs