2010-12-03 20 views
3

私はCodeIgniterの新機能ですが、どのように動作するか把握していると思います。CodeIgniter Common Header Include

通常、私が5ページのサイトのようなウェブサイトを作ったとき、私はヘッダーファイルを各ページに含まれているPHPファイルに入れているので、ヘッダーを変更する必要があります1つのスポットを5回変更するのではなく、

私のCodeIgniterアプリケーションでは、コントローラの各ページに対して、関数に応じて異なるビューを読み込む関数があります。たとえば、

public function Index() { 

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

} 

public function blog() { 

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

} 

次に、すべてのロジックをコントローラに入れることができます。

1つの参照ヘッダーを持つ最良の方法は何ですか?私はそれを変数としてコントローラに入れ、それを各ビューにデータとして送信する必要がありますか?

また、これを行うより効率的な方法がある場合は、お勧めします。

ありがとうございます!

答えて

5

私がよくやっていることは、ヘッダをビューに入れてから、ヘッダービューを上のコントローラに追加することです。同じことをフッターでも行うことができます。

public function blog() { 

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

メイク感覚:

だから、のようなものでしょうか?

追加:メタタグ、タイトル、CSSのリンクなど、頭のタグ全体を追加することもできます。ただし、通常はページによって異なることがあるため、別のビューに挿入します。

+0

あなたに感謝します –

1

あなたはテンプレートプロジェクトを見ましたか?

http://williamsconcepts.com/ci/codeigniter/libraries/template/

http://philsturgeon.co.uk/index.php/code/codeigniter-template

これらのあなたが1つのファイルに、サイト全体の変更を作ることができる場所(あなたが必要な場合またはそれ以上)を使用すると、マスターテンプレートを作成することができます。これらの変更にはヘッダーが含まれる可能性がありますが、他の領域も含めることができます。

5

私はCodeIgniterを多く使用しています。私は/ commonの中に/ 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:すべてのコントローラの上部にある資産を管理するためにCarabinerを使用し、ヘッダーに表示することをお勧めします。PHP