CodeIgniter Common Header包含

Dou*_*eux 3 controller codeigniter view

我是CodeIgniter的新手,但我想我已经掌握了它的工作原理.

通常,当我创建一个网站,比如一个5页的网站时,我将我的头文件放在每个页面中包含的php文件中,这样如果我必须改变标题,我只需要在一个地方而不是改变它五次.

在我的CodeIgniter应用程序中,我的控制器中的每个页面都有一个函数,它根据函数加载不同的视图.例如,

    public function Index() {

    $data = array();
    $this->load->view('index',$data);

}

public function blog() {

    $data = array();
    $this->load->view('inner1',$data);

}
Run Code Online (Sandbox Code Playgroud)

然后我可以将所有逻辑放在控制器中.

有一个引用标题的最佳方法是什么?我应该将它作为变量放在控制器中,然后将其作为数据发送到每个视图吗?

此外,如果有更有效的方法,请建议!

谢谢!

Bil*_*ill 5

我通常做的是在视图中创建标题,然后将标题视图添加到索引上方的控制器...您也可以使用页脚执行相同操作.

所以它会是这样的:

public function blog() {

   $data = array();
   $this->load->view('Header'); // just the header file
   $this->load->view('inner1',$data); //your main content
}
Run Code Online (Sandbox Code Playgroud)

合理?

补充:您也可以在其中包含整个头标记,例如元标记,标题,CSS链接等.但我通常会将它们放在另一个视图中,因为有时它们会因页面而异.


fed*_*sas 5

我经常使用CodeIgniter.我的/ views文件夹中有一个名为/ common的文件夹.在那里,我把我的footer.php,sidebar.php,header.php等等.

我的视图文件如下所示:

$this->load->view('header');
<div id"main">
.....
</div>


$this->load->view('footer');

我的控制器文件如下:

public function blog() {
   $this->data['title'] = "Blog";
   $this->data['meta_tags'] = $meta;
   $this->data['entries'] = $entries;

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

请注意,稍后可以在标题模板中调用变量$ title或$ meta.通过这种方式,我可以对common/header.php进行更改,并在整个站点上进行持久化.

祝好运!

PD:我建议使用Carabiner管理每个控制器顶部的资产,然后在header.php上显示它们