この線に沿って何か?
$data['post'] = $this->load->view('post',$data, TRUE);
引数は、'TRUE'
CIにビューを呼び出して$data['post']
変数に配置するように指示します。後で、その変数を別のビューで使用して、印刷することができます。
編集:
コントローラーとビューをどのように整理したかはわかりませんが、次のように言いましょう。これは単なる例です。
コントローラ
public function comments() {
$data['comments'] = $this->comments_model->get_all_comments();
$data['someVariable'] = 123;
$this->load->view('header', $data); //load header view
$data['sidebar'] = $this->load->view('sidebar', $data, TRUE); //put sidebar view in a variable, but don't show it immediately
$this->load->view('comments', $data); //load comments view
$this->load->view('footer'. $data); //load footer view
}
$data
コントローラに渡すときはいつでも、$data
配列全体をそのビューに渡すので、ビュー内のすべての要素にアクセスできます。
たとえば、comments.phpビューには$comments
、変数$someVariable
と$sidebar
変数があるので、それらを使って好きなことを行うことができます。
コメント.phpには、おそらく次のようなものがあります。
コメント.php
<div id="comments">
<?php
foreach($comments as $c){ //print out all found comments
?>
<div class="comment">
<?= $c['commentauthor'] ?> <br />
<?= $c['commenttext'] ?>
</div>
<?php } ?>
</div>
<div id="sidebar">
<?= $sidebar ?> //print out sidebar
</div>
<p> This is some variable: <?= $someVariable ?> </p>
$ dataをそのビューに渡したため、これらの同じ変数がフッタービューで使用できます。
$this->load->view('footer'. $data);
これにより、状況がもう少し明確になることを願っています。