嵌套视图中参数传递问题
本帖最后由 zfm1988 于 2011-1-26 21:49 编辑控制器 welcome.php
function index()
{
$data['w']=123456;
$data['header']=$this->load->view('test','',TRUE);
$this->load->view('welcome_message',$data);
}
视图test.php
echo $w.“测试是否输出$w的值”;
视图welcome.php
echo $w.'<hr />';
在welcome 中输出
测试是否输出的值
123456
我就想问为什么$w在test。php中是null呢?我看手册也是这样写的啊 本帖最后由 suxiaolu 于 2011-1-26 18:29 编辑
你没有将$data['w'] = 123456;传递给test视图,我理解你的意思是
function index()
{
$data['w'] = 123456;
$data['header'] = $this->load->view('test', $data, TRUE);
$this->load->view('welcome_message', $data);
}
谢谢你,你这个做法我知道,但是我在手册上看到不需要把变量传递给没一个子视图,就像smarty里面的变量一样,可以在任何嵌套模板中使用 你可以直接
load->view("header",$data);
load->view("main");
load->view("xxx");
下面2个都会共享$data的数据,不需要你先把header的html值存到变量里去的 谢谢,版主这个方法是在视图中调用视图,我的想法是在控制你里面,不过我找到啦一种比较好的解决方法,
function index()
{
$data['w'] = 123456;
$data['header'] = $this->load->view('test', $data);
$this->load->view('welcome_message');
} 回复 5# zfm1988
一样的道理,只要第一次load-》view的时候把数据传进去,下面在load都可以使用到的 不建议在控制器里进行视图嵌套。 Hex,手册里面可是建议在控制器里用啦 回复 8# zfm1988
手册不全是最佳实践。
只是告诉你可以这么用。
当然,所谓的“最佳实践”,也是我个人总结的,不代表 CI 官方。 Hex 发表于 2011-1-27 11:51 static/image/common/back.gif
不建议在控制器里进行视图嵌套。
请教在Ci里面怎么实现模板的嵌套啊,就像Smary那样使用,在一个模板里 include 另一个模板,ci可以吗??能不能给个实例,不胜感谢.
页:
[1]
2