1

おそらく冗長な質問です。

私はコードイグナイターで作業しようとしています。各ページでヘッダーを使用する独自のテンプレートが必要です。ヘッダーは、ログインのようなウィジェットで埋められます。

私はそれを行うためのより良い方法を見つけるためにインターネット上を歩いています。各コントローラーコンストラクターでヘッダーを呼び出さずに。

4

3 に答える 3

0

まず、このようなビューフォルダの下にフォルダ構造を作成します ここに画像の説明を入力してください

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に設定し、新しいコンテンツのみを渡します。管理者パネルの場合と同じように、管理者インターフェイスのレイアウトを作成します。次に、管理者インターフェイスのヘッダーとフッターを個別に設定できます。

于 2013-02-10T06:43:07.367 に答える
0

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'); 
于 2013-02-10T05:41:12.430 に答える
0

CodeIgniter テンプレートを使用しています。

ここにあります: http://williamsconcepts.com/ci/codeigniter/libraries/template/reference.html

ドキュメントをダウンロードして読むことができ、完璧に機能します。

テンプレートは問題なく、思い通りに簡単に合わせることができるので、使用することをお勧めします。

于 2013-02-10T23:30:59.357 に答える