2010-12-03 69 views
3

我对CodeIgniter很新,但我想我已经掌握了它的工作原理。CodeIgniter Common Header包括

通常,当我制作一个网站时,比如一个5页的网站,我的头文件包含在每个页面的php文件中,这样如果我必须修改头文件,我只需要在一个地方,而不是改变它五次。

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

public function Index() { 

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

} 

public function blog() { 

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

} 

然后我可以把我所有的逻辑放在控制器中。

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

此外,如果有更有效的方法来做到这一点,请给出建议!

谢谢!

回答

5

我最常做的是让在视图的标题,然后头视图添加到上述指标控制器...你可以做的页脚相同了。

因此,这将是这样的:

public function blog() { 

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

有意义吗?

新增:您还可以包括你的整个头部标记在那里,像你的meta标签,标题,CSS链接等,但我通常把那些在另一种观点认为,因为有时他们根据页面上的不同。

+0

这确实有道理谢谢 – 2010-12-03 15:40:58

5

我用笨了很多。我在我的/ 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); 
} 

记下的变量$标题或$元,以后可以在头部模板内调用。这样,我可以对common/header.php进行更改,并在整个网站上保留。

祝你好运!

PD:我建议使用登山扣在每个控制器上管理你的资产,然后显示它们在你的头。php