Codeigniter(昨日)を使い始めたばかりで、人々が使用しているテンプレート機能が不思議です。CodeIgniter:テンプレートを使用するためのヒント
ビューを作成し、必要に応じてロードするだけですか?
おかげで、
Jonesy
Codeigniter(昨日)を使い始めたばかりで、人々が使用しているテンプレート機能が不思議です。CodeIgniter:テンプレートを使用するためのヒント
ビューを作成し、必要に応じてロードするだけですか?
おかげで、
Jonesy
テンプレートのアイデアは、共通のヘッダーを持つ共有レイアウトを作成することです。ページごとに変更される "本文"があるだけです。あなたはこのようなあなたの意見のそれぞれの内側にヘッダーとフッターを含めることができる最も基本的なレベルで
:
荷重 - >ビュー(「ヘッダ」); ?>
これは私のページです。
load-> view( 'footer'); ?>
これは問題ありませんが、実際のサイズのアプリケーションを構築し始めると問題が発生します。
テンプレート作成には数多くの方法がありますが、私が何年も使ってきた方法はこれですTemplate library。さまざまなプロジェクトで20〜30のプロジェクトを見ていて、多くの人が使っているので、試してテストしたことが分かります。
ページリンクは404になります。実際のリンク:https://github.com/philsturgeon/codeigniter-template –
はそれがビューを作成し、whenerever必要なだけで、それをロードすることは可能ですか?
はい。これは、CIだけでなく、MVC構造の典型的な動作です。あなたのビューは、ロジック/処理がほとんどないプレゼンテーションレイヤーです。
私はヘッダーと呼ばれるビューを持っていたと私は別のビュー内のヘッダーを読み込むことができますか? – iamjonesy
はい、正確です。それは一般的にどのように行われているのですか。基本的に<?php include( "header.php"); ?>あなたの意見に。このビューは、標準のPHPファイルと同じものですが、直接アクセスすることはありません。 :) –
@iamjonesy:いいえ、あなたのビューに 'include'構文を使う必要はありません。別のビュー内でビューをロードする場合は、CodeIgniterのビューローダーを使用します: '$ this-> load-> view( 'header')'。 – treeface
これを行う別の方法は次のとおりです。お使いのコントローラで
、そう
$template_data = array('contains', 'data', 'for', 'template',
'while', 'the', 'specific' => array('may', 'contain',
'data', 'for', 'the', 'view_file'));
$this->load->view('template/needed.php');
あなたのテンプレートのように、あなたのテンプレートをロードし、[必要であれば!]、あなたは今、それを移入する$template_data
配列を持っています。あなたは今では
<div id="yield">
<?php echo $this->view('specific/viewer.php', $template_data['specific']); ?>
</div>
ノートのような特定のビューをロードすることがあります。
template/needed.php
はapplication/views
フォルダにする必要があります。specific/viewer.php
ファイルも(すなわち、このファイルへのパスがWEB_ROOT/application/views/specific/viewer.php
のようなものでなければなりません)あなたのviews
ディレクトリにする必要がありますこれの美しさは、必要であれば任意のビューファイルをテンプレートとして使用することができることです。
重複したhttp://stackoverflow.com/questions/3957000/what-codeigniter-template-library-is-best。 – treeface