3

CI は初めてなので、これが不快なほど簡単な修正である場合はご容赦ください。

次のように、同じナビゲーションを含める必要があるビューがいくつかあります。

...
<div class="projectNav">
  <?php 
    echo anchor('projects/view/' . $project->intId, '<img src="'.base_url().'assets/img/icons/zoom.png" />'); 
    echo anchor('tasks?project=' . $project->intId . '&status=open', '<img src="'.base_url().'assets/img/icons/puzzle.png" />');
    echo anchor('projects/edit/' . $project->intId, '<img src="'.base_url().'assets/img/icons/edit.png" />');
    echo anchor('projects/charges/' . $project->intId, '<img src="'.base_url().'assets/img/icons/sterling_pound_currency_sign.png" />');
  ?>
</div>
...

もちろん、これは各ビューの標準であるため、繰り返したくありません。このナビゲーションを CI に「含める」ためのベスト プラクティスの方法は何ですか?

4

3 に答える 3

9
$this->load->view('nav');

アプリケーション内のビュー フォルダーに nav.php を読み込みます。このメソッドは、コントローラーまたはビューから実行できます。

于 2013-01-11T16:21:38.157 に答える
2

あなたは2つの方法でそれを行うことができます(私の知る限り)

コントローラー内 (コントローラー内に含める場合は、見たい方法と同じ順序でロードする必要があります。)

$this->load->view('nav')

ビューで

include('nav.php')
于 2013-01-11T16:26:55.483 に答える
1

テンプレート/レイアウト システムを探しているようです。CodeIgniter の実装の 1 つがhttp://daylerees.com/layout/にあります。

完全なレイアウト エンジンを使用したくない場合は、display_overrideフックを追加してビューを操作できます。これについてはhttp://maestric.com/doc/php/codeigniter_compress_htmlで簡単に説明されています。

于 2013-01-11T16:32:15.240 に答える