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)
然后我可以将所有逻辑放在控制器中.
有一个引用标题的最佳方法是什么?我应该将它作为变量放在控制器中,然后将其作为数据发送到每个视图吗?
此外,如果有更有效的方法,请建议!
谢谢!
我通常做的是在视图中创建标题,然后将标题视图添加到索引上方的控制器...您也可以使用页脚执行相同操作.
所以它会是这样的:
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链接等.但我通常会将它们放在另一个视图中,因为有时它们会因页面而异.
我经常使用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上显示它们
| 归档时间: |
|
| 查看次数: |
13668 次 |
| 最近记录: |