codeigniter :将数据传递到视图中包含的视图

2022-08-30 23:08:18

我有一个控制器,包括一个功能中的两个视图,如下所示

$this->load->view('includes/header',$data);
$this->load->view('view_destinations',$data);

包含 php 菜单文件的视图文件,如下所示view_destinations.php

<? $this->load->view('includes/top_menu'); ?>

我的问题是,如何将从控制器获取的数据传递到包含的数据?top_menu.php

谢谢你们


答案 1

在控制器内部,有

$data['nestedView']['otherData'] = 'testing';

在您的视图包含之前。

当您致电时

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

该文件将具有view_destinations

$nestedView['otherData'];

此时,您可以将其传递到嵌套视图文件中。

<? $this->load->view('includes/top_menu', $nestedView); ?>

在你的top_menu文件中,你应该包含“测试”。$otherData


答案 2

卡斯蒂斯的解决方案有效

但是,如果您想在更细粒度的级别上执行此操作,则可以使用:

//in your controller
$data['whatever'] = 'someValue';

.

//In your view
echo $whatever //outputs 'someValue';

//pass $whatever on
$this->load->view('some/view', Array('whatever' => $whatever));

推荐