0

我在这里有布局,我想将菜单插入到菜单布局中。最近,我使用框架集来解决这个问题,但这一次,我想尝试使用 adiv而不是框架集,也可以通过 CodeIgniter。

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

我如何通过 CodeIgniter 框架做到这一点?

4

2 回答 2

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>

祝你好运!

于 2012-08-25T09:22:53.553 回答
0

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

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

意见/布局.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 回答