在Codeigniter中拥有所有控制器的固定视图

时间:2013-12-16 10:25:15

标签: php codeigniter templates

为了在CodeIgniter中加载视图,我必须重复加载固定视图(页眉和页脚),这对于每个与视图相关的控制器重复都有点烦人。

目前,当我想在CI中加载视图时,我会执行以下操作:

$this->load->view("header");
$this->load->view("index");
$this->load->view("footer");

然后,我如何更改$this->load->view();以获取一个参数(例如boolean),该参数允许在目标视图之前/之后加载视图。比如这一个:

$this->load->view("index", TRUE, FALSE, $data); // TRUE=>header  FALSE=>footer $data=>common variable

是否有可能破坏这样的功能?

2 个答案:

答案 0 :(得分:3)

尝试这个库,当我使用它时它适用于我

https://github.com/philsturgeon/codeigniter-template

答案 1 :(得分:1)

您可以使用library

创建一个名为template.php的新库文件,并编写一个名为load_template的函数。在该函数中,使用上面的代码。

  

public function load_template($ view_file_name,$ data_array = array())   {

     

$ ci =& get_instatnce();

     

$ CI->负载>查看( “头”);

     

$ CI->负载>查看($ view_file_name,$ data_array中);

     

$ CI->>负载>查看( “页脚”);

     

}

您必须在config文件夹中的自动加载文件中加载此库。所以你不想加载所有控制器。

您可以使用此功能

  

$这 - >模板 - > load_template( “索引”);

如果您想将日期传递给查看文件,则可以通过$data_array

发送