有人可以建议我如何将值从控制器传递到模板中的另一个视图
下面是我的控制器
$this->load->model('list_model');
$data['lists']=$this->list_model->loadhome();
$data['body']='content';
$data['right']='right';
$this->load->view('template',$data);
下面是我的模板视图
$this->load->view('includes/header');
$this->load->view($body);
$this->load->view($right);
$this->load->view('includes/footer');
我想要做的是将$ data ['lists']从控制器传递到$ this-> load-> view($ body);
有人可以告诉我该怎么做?
答案 0 :(得分:1)
尝试
$this->load->view($body,$lists);
答案 1 :(得分:0)
我会按照以下方式做点什么:
$this->load->model('list_model');
$data['contentData']['lists']=$this->list_model->loadhome();
$data['body']='content';
$data['right']='right';
$this->load->view('template',$data);
您的模板视图:
$this->load->view('includes/header');
$this->load->view($body, $contentData);
$this->load->view($right);
$this->load->view('includes/footer');
或者,如果您只需传递一个变量(并且不想堆叠数组),这将有效:
$this->load->model('list_model');
$data['lists']=$this->list_model->loadhome();
$data['body']='content';
$data['right']='right';
$this->load->view('template',$data);
您的模板视图:
$this->load->view('includes/header');
$this->load->view($body, array('lists'=>$lists));
$this->load->view($right);
$this->load->view('includes/footer');
答案 2 :(得分:0)
您可以在控制器中渲染正文视图,然后将其传递给模板视图。
控制器:
$this->load->model('list_model');
$lists = $this->list_model->loadhome();
$data['body_view'] = $this->load->view('content', $lists);
$data['right'] = 'right';
$this->load->view('template', $data);
模板视图:
$this->load->view('includes/header');
echo $body_view;
$this->load->view($right);
$this->load->view('includes/footer');
http://codeigniter.com/forums/viewthread/88335/提供了更多信息。
就个人而言,我不会走这条路,只会从控制器中分别加载四个视图。你考虑过这样做吗?