2011-10-30 32 views
3

我曾經使用過自定義的php框架和django模板,兩者都支持我可以描述爲「基本模板」的東西。這意味着你有一個文件,你有你的頁眉和頁腳和一個div可以說與ID「內容」。現在,視圖文件中的所有內容都只包含用於填充該「內容」div的代碼部分,頁眉和頁腳由該基本模板放置。如何在Codeigniter中使用包含和基本模板?

如何在codeigniter中實現這種「基本佈局」。如果這是不可能的,那麼我怎麼能告訴我所有的意見,分別在我的所有視圖的頂部和底部包含一個header.php和footer.php文件,而不必手動添加這些包括到每個視圖?

回答

4

感謝您的答案球員,但我決定去與下面的答案,是由jruzafa在這個問題給出:

How to Deal With Codeigniter Templates?

因爲它正是我想要的,並沒有按不需要任何額外的擴展:

我試過幾種方法來做codeigniter模板和我的方式留下來是最快最簡單的,如下。

在控制器:

>  //Charge the view inside array 
>  $data['body'] = $this->load->view('pages/contact', '', true); 
> 
> 
>  //charge the view "contact" in the other view template 
>  $this->load->view('template', $data); 

鑑於的template.php:

> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" 
> "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html 
> xmlns="http://www.w3.org/1999/xhtml" xml:lang="es"> <head> 
>  <title>Template codeigniter</title> </head> <body> 
>  <div> 
>   <?=$body?> 
>  </div> 
>  <div class="clear"></div> 
>  <div>Footer</div> 
>  </div> </body> </html> 

$體是視圖接觸。

+0

我不知道。當我使用這個方法時,控制器中的所有變量都會丟失,並且我收到很多'未定義的變量'消息。 – russellmania

0

不知道我完全理解你,但你可以創建一個視圖('base_view'),然後你可以通過變量提供內容,同時從基本視圖本身加載常見的視圖。就像這樣:

控制器部分:

$data['content'] = "<div>My content</div>"; 
$this->load->view('base_view', $data); 

Base_view部分:

$this->load->view('header'); 
echo $content; 
$this->load->view('footer'); 

希望這有助於。

相關問題