在一个视图中编码多个视图

时间:2013-07-01 09:57:54

标签: php codeigniter templates codeigniter-2

我正在开发一个Web应用程序。这可能是一个愚蠢的问题,但我想知道我是否采取了良好的方法。 我想在一个视图/页面上拥有多个视图。

Codeigniter文档说“视图只是一个网页,或页面片段,如页眉,页脚,侧边栏......”。

我希望有一个标题,一些快速搜索视图,一些其他视图和页脚示例。我应该为每个视图(标题,快速搜索,页脚,...)实现控制器,还是在单个控制器中实现每个视图功能更好?例如,如果我知道页眉,页脚,快速搜索视图将始终存在(即使它们的内容可能会发生变化),我应该将所有这些视图的函数放在一个控制器中吗?

请帮助。

1 个答案:

答案 0 :(得分:5)

一种方法是使模板视图具有您需要的元素。 看到这个伪代码示例...... 所以,template_view.php有:

$this->load->view('header',$header);    
$this->load->view('quicksearch',$quickssearch);    
$this->load->view('body',$body);    
$this->load->view('footer',$footer);

单个控制器然后使用每个视图的参数调用模板。

$data = new stdClass();
$data->header = ....
$data->quickssearch = ....
$data->body = .....
$data->footer = .....

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