[英]codeigniter : pass data to a view included in a view
我有一个控制器,包括一个函数的两个视图,如下所示
$this->load->view('includes/header',$data);
$this->load->view('view_destinations',$data);
视图文件view_destinations.php
包括一个php菜单文件,如下所示
<? $this->load->view('includes/top_menu'); ?>
我的问题是,如何将从控制器获取的数据传递给包含top_menu.php
?
感谢你们
你的控制器里面有
$data['nestedView']['otherData'] = 'testing';
在你的观点包括之前。
你打电话的时候
$this->load->view('view_destinations',$data);
view_destinations
文件将具有
$nestedView['otherData'];
您可以在此处将其传递到嵌套视图文件中。
<? $this->load->view('includes/top_menu', $nestedView); ?>
在top_menu文件中,你应该有$otherData
包含'testing'。
castis的解决方案有效
但是,如果您想在更细粒度的级别上执行此操作,则可以使用:
//in your controller
$data['whatever'] = 'someValue';
。
//In your view
echo $whatever //outputs 'someValue';
//pass $whatever on
$this->load->view('some/view', Array('whatever' => $whatever));
我在视图文件中看到过,如果我将数据从控制器传递到视图,并从该视图传递到包含嵌套视图文件。 没有必要转移
$数据
对于您的嵌套视图,它已经可用。 您可以在内部视图中直接访问它。
这个Codeigniter论坛帖子应该可以帮到你;)
您可以在控制器中创建$ data(示例)全局,也可以在视图中传递@castis(仅在视图中的变量)
如果您希望子视图中的每个CodeIgniter视图数据,请尝试此操作:
echo $this->view('subview', get_defined_vars()['_ci_data']['_ci_vars'])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.