2010-12-03 45 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