0

ここにレイアウトがあり、メニューをメニュー レイアウトに挿入したいと考えています。最近はこれを解決するためにframesetを使っていますが、今回divはframesetの代わりにCodeIgniterを使って試してみたいと思います。

メニューが成功したら、フォームをフォームレイアウトにロードできます:D

CodeIgniter フレームワークを介してこれを行うにはどうすればよいですか?

4

2 に答える 2

1

このようにビュー内にビューを直接ロードするという2つの選択肢があります

<div id="sidebar">

<?php $this->load->view('template/sidebar.php'); ?>

</div>

または、コントローラーから変数として渡し、このようにビューにエコーします

function index(){

$data['sidebar'] = $this->_get_sidebar();
$this->load->view('home',$data);
}

function _get_sidebar(){

return $this->load->view('template/sidebar',TRUE);

}

そしてビューで

<div id="sample">
     <?php echo $sidebar;?>
</div>

幸運を!

于 2012-08-25T09:22:53.553 に答える
0

div 内にページをロードするのではなく、ビューをロードします。私はこのように行きます:

コントローラmain.php

Class Main extends CI_Controller{

  function index()
  {
     $this->load->model('mymodel');
     $data['menu_items'] = $this->mymodel->get_menu();
     $this->load->view('layout', $data);
  }
}

これで、ビューの layout.php で $menu_items 変数を使用できるようになりました。きちんとしたアプローチは、「マスター」ビュー内に「部分」ビューをロードすることです(別のビュー内にロードされたすべてのビューには、変数が利用可能です)。SO、次のようなもの:

ビュー/layout.php

<!DOCTYPE html>
<html><head><title></title></head>
<body>
    <header>
      <?php $this->load->view('partials/header'); ?>
    </header>

    <section>
    <aside>
     <nav>
      <?php $this->load->view('partials/menu');?>
     </nav>
    </aside>
      <article>
        <?php $this->load->view('partials/content');?>
      </article>
    </section>
    <footer>
      <?php $this->load->view('partials/footer');?>
</footer>
</body>
</html>

ここで、フォルダー view/partials/ 内にパーシャルを作成すると、コントローラーで変数がレイアウト ビューに渡されます。

ファイルviews/partials/menu.php

<ul>
  <?php foreach($menu_items as $item): ?>
  <li><?php echo $item['name'];?></li>
  <?php endforeach;?>
</ul>
于 2012-08-25T04:30:37.817 に答える