2

この2つのアプローチの違いは何ですか:

$data['content'] = $this->load->view('content', NULL, true); // the content of the page
$this->load->view('layout', $data); //putting the content inside the layout, this include header, footer etc...

   $this->load->view('top');
   $this->load->view('content', $data);
   $this->load->view('footer');

// ここで、必要に応じてさらにビューをロードするため、各ビューは別々にロードされます

これが最善のアプローチかどうかはわかりませんが、どちらを使用するのが良いでしょうか? または、より良いアイデアがあれば...

4

4 に答える 4

3

これにより、ビュー データが $mydata に割り当てられ、ブラウザーでレンダリングされません。3 番目のパラメーター 'TRUE' がこれを行います。

$mydata = $this->load->view('content', NULL, true);

これにより、ブラウザでビューが直接レンダリングされます

$data = array();
$this->load->view('layout', $data);

あなたの2番目のオプションは最良のアプローチです

于 2013-03-01T11:31:11.653 に答える
1

これを行う場合:

$data['content'] = $this->load->view('content', NULL, true);
$this->load->view('layout', $data);

ビューのコンテンツは文字列として解析されるため、レイアウト ビュー内のどこかに $content 変数をエコーする必要があります。

これを行う場合:

$this->load->view('top');
$this->load->view('content', $data);
$this->load->view('footer');

あなたのビューはブラウザに送信され、レンダリングできるようになります。2 番目の方法が最善の方法です。これにより、コードがより理解しやすくなり、変更がより迅速かつ簡単になります。

ここでビューに関する詳細を読むことができます: http://ellislab.com/codeigniter/user-guide/general/views.html

于 2013-03-01T12:00:16.990 に答える
0

2 つのアプローチのそれぞれには、使用方法に応じて利点があります。

通常のページ読み込みを行う場合、最善のアプローチは次のとおりです。

$this->load->view('top');
$this->load->view('content', $data);
$this->load->view('footer');

2 番目の方法は、サーバーに対して Ajax 呼び出しを実行し、クライアントのブラウザーの Div に特定のビューをロードする場合に非常に役立ちます。

$view = $this->load->view('subpage','',TRUE);
$data = array('content' => $view);

print json_encode($data);
于 2013-03-02T08:28:39.207 に答える
0
$this->load->view('top');
$this->load->view('content', $data);
$this->load->view('footer');

実行に時間がかからず、理解しやすいため、より良いオプションです

于 2013-03-01T11:34:27.227 に答える