2017-05-05 66 views
1

我想创建MVC中几个视图页面上包含的常见页眉和页脚。如何将视图页面与Codeigniter中的页眉和页脚组合在一起?

我想为我的项目使用codeigniter。大多数人建议我在ci中使用require_once php函数。但是,我该怎么办?

有人可以一步一步地在视图文件中包含require一次。 通过控制器,我们可以使用如下: -

public function home(){ 
    $this->load->view('templates/header'); 
    $this->load->view('about'); 
    $this->load->view('templates/footer'); 
    } 
    public function about(){ 
    $this->load->view('templates/header'); 
    $this->load->view('index'); 
    $this->load->view('templates/footer'); 
    } 

我们如何能做到这一点,在CI视图页面使用require_once ..?

+0

http://stackoverflow.com/questions/15221371/best-method-of-including-views-within -ign-in-codeigniter –

+0

您可以先定义主题结构,然后移动到模块部分,这对未来会更好。 – Jigar7521

回答

0

控制器

public function home(){ 
    $this->load->view('index'); 
    } 
    public function about(){ 
    $this->load->view('about'); 
    } 

索引视图

$this->load->view('templates/header'); 

// Code of index file 

$this->load->view('templates/footer'); 
+0

我在问怎么用'require_once' – Keynes

+1

看到这个[answer](http://stackoverflow.com/questions/17977805/how-to-require-once-in-codeigniter) –

0

阅读您的问题后,我想你想母版页或布局与基本样式,这将是包含菜单,页脚等

让我们假设您有一个html页面

<html> 
    <head> 
     <title> Hello World </title> 
    </head> 
    <body> 
     <div id="menu"> 
      <li><a href="#">Home</a></li> 
      <li><a href="#">About</a></li> 
      <li><a href="#">Contact</a></li> 
     </div> 

     <div id="main-content"> 
      <!-- this is the dynamic part --> 
     </div> 

     <div id="footer"> 
      Copy Right 2013 Hello World 
     </div> 
    </body> 
</html> 

,你可以把它分割成1头2 - 菜单3-主要内容4-页脚

你基本上把

<html> 
    <head> 
     <title> Hello World </title> 
    </head> 
    <body> 
in one view called "view_header" then you put 

     <div id="menu"> 
      <li><a href="#">Home</a></li> 
      <li><a href="#">About</a></li> 
      <li><a href="#">Contact</a></li> 
     </div> 
     <div id="main-content"> 
in a view called "view_menu" and then you put 

     </div> 

     <div id="footer"> 
      Copy Right 2013 Hello World 
     </div> 
    </body> 
</html> 

在一个名为“view_footer”,然后在你的控制器视图

$this->load->view('view_header'); 
$this->load->view('view_menu'); 
$this->load->view('YOUR_VIEW'); 
$this->load->view('view_footer'); 

另一种解决方案,这是我看到的是更好的:创建一个名为view_template_1.php

<html> 
    <head> 
     <title> Hello World </title> 
    </head> 
    <body> 
     <div id="menu"> 
      <li><a href="#">Home</a></li> 
      <li><a href="#">About</a></li> 
      <li><a href="#">Contact</a></li> 
     </div> 

     <div id="main-content"> 
      <?php $this->load->view($content); ?> 
     </div> 

     <div id="footer"> 
      Copy Right 2013 Hello World 
     </div> 
    </body> 
</html> 
视图

控制器可以说你要调用一个名为查看

$data = array('content'=>'about'); 
$this->load->view('view_template',$data); 

Reference

+0

好吧,是否可以使用它与'require_once'..? – Keynes

+0

是的,但是如果您使用的是MVC框架,请遵循其规则和方法。 –

+0

那么如何添加一个库并包含'APPATH' – Keynes