おそらく冗長な質問です。
私はコードイグナイターで作業しようとしています。各ページでヘッダーを使用する独自のテンプレートが必要です。ヘッダーは、ログインのようなウィジェットで埋められます。
私はそれを行うためのより良い方法を見つけるためにインターネット上を歩いています。各コントローラーコンストラクターでヘッダーを呼び出さずに。
おそらく冗長な質問です。
私はコードイグナイターで作業しようとしています。各ページでヘッダーを使用する独自のテンプレートが必要です。ヘッダーは、ログインのようなウィジェットで埋められます。
私はそれを行うためのより良い方法を見つけるためにインターネット上を歩いています。各コントローラーコンストラクターでヘッダーを呼び出さずに。
まず、このようなビューフォルダの下にフォルダ構造を作成します
layout.phpファイルセットヘッダー、フッターファイル。
<?php $this->load->view('includes/header');
//print_r($this->load->view());?>
<?php $this->load->view($main_content); ?>
<?php $this->load->view('includes/footer'); ?>
フォルダセットのヘッダーファイルとフッターファイルを含めるようになりました
これで、どのコントローラーでも、このように新しいコンテンツのみを配列に渡す必要があります
$data['main_content']='home/welcome'; // welcome is in your new view view/home/welcome.php
$this->load->view('layout',$data);//in the controller you load which layout you want
これで、コントローラーからの呼び出しヘッダーとフッターは必要ありません。それらをlayout.phpに設定し、新しいコンテンツのみを渡します。管理者パネルの場合と同じように、管理者インターフェイスのレイアウトを作成します。次に、管理者インターフェイスのヘッダーとフッターを個別に設定できます。
nettuts のビデオ「CodeIgniter を使用して初めてのテンプレートを作成する 」をご覧ください。このビデオは、あなたが求めていることを正確に行う方法を示しています。
更新: コントローラーから必要なデータを追加できます。次のように設定します。
$data['header_info'] = 'your data';
$data['load_view'] = 'the_view';
テンプレートに $data を渡し、ヘッダーに $header_info を渡すだけです。新しいテンプレートは次のようになります。
$this->load->view('my_header.php', $header_info);
$this->load->view($load_view);
$this->load->view('my_footer.php');
CodeIgniter テンプレートを使用しています。
ここにあります: http://williamsconcepts.com/ci/codeigniter/libraries/template/reference.html
ドキュメントをダウンロードして読むことができ、完璧に機能します。
テンプレートは問題なく、思い通りに簡単に合わせることができるので、使用することをお勧めします。