如何在div中为CodeIgniter加载页面

时间:2012-08-25 02:48:33

标签: php codeigniter html

我有布局here,我想在菜单布局中插入menu。最近,我正在使用frameset来解决这个问题,但这一次,我想尝试使用div代替frameset,也可以尝试使用CodeIgniter。

当菜单成功时,我可以将表单加载到表单布局:D

如何通过CodeIgniter框架执行此操作?

2 个答案:

答案 0 :(得分:1)

你有两个选择就是像这样直接加载视图中的视图

<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>

古德勒克!

答案 1 :(得分:0)

您不会在div中加载页面,而是视图。 我会这样:

Controller 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变量。一种巧妙的方法是在“主”视图中加载“部分”视图(在另一个视图中加载的所有视图都有可用的变量)。 所以,像这样:

视图/ 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>

现在您在文件夹视图/ partials /中创建部分,并且它们将控制器中的变量传递给布局视图。

档案views/partials/menu.php

<ul>
  <?php foreach($menu_items as $item): ?>
  <li><?php echo $item['name'];?></li>
  <?php endforeach;?>
</ul>