2012-02-11 6 views
0

私はCodeIgniterを初めて使いました。私はコントローラーのヘッダーとフッターのような一般的なテンプレートをロードしています:一般的なテンプレートをグローバルに読み込むには?

public function load_store_home_page($storeName) { 
    //Assign the page title 
    $global_data['page_title'] = $storeName; 

//Load the header 
$global_data['header'] = $this->load->view('header','', true); 

    ... 

しかし、私はすべてのコントローラー機能でこれをやっています。それは乱雑に思えます。どういうわけか、これらの共通要素をグローバルにロードできる方法はありますか?

+0

なぜあなたは$ global_dataに入れていますか? – thenetimp

+2

カスタムコントローラー拡張CI_Controllerを作成し、@kristianが言ったように、__constructと__deconstructをオーバーライドしました。ヘッダーとフッターがあるページが必要なときは、そのカスタムコントローラーを使用するだけです。ヘッダーとフッターが不要な場合は、通常のコントローラーを使用できます。 – thenetimp

+0

レイアウト用です... http://joshhighland.com/blog/2008/11/09/how-i-do-layouts-and-views-in-codeigniter/ - ネストされたテンプレートにページインし、これらのテンプレートはグローバルビューに読み込まれます。 $ global_dataは私がこのグローバルビューに直接ロードしたいビットです –

答えて

2

リダイレクト、ファイル送信、jsonデータまたは類似のために、ヘッダーもフッターも含めたくない場合があるので、これはお勧めしません。代わりに、私がやることは、単にビュー自体からヘッダーとフッターを含めることです。

しかし、あなたが主張するならば、私はあなたのクラスコンストラクタ__construct()とdeconstructor __deconstruct()からビューを読み込むことができると思います。

+0

ビューから直接ヘッダーを挿入するにはどうすればよいですか?これは私にとって良い解決策のように思えます。 –

+0

あなたの視点からは、 ' load-> view(' header ')を含めるだけです。 ?> '、ファイルの末尾に"! " – kba

+0

このような load-> view( 'header'); ?> –

関連する問題