如何在 Codeigniter 中组合具有相同页眉和页脚的视图页面?

Posted

技术标签:

【中文标题】如何在 Codeigniter 中组合具有相同页眉和页脚的视图页面?【英文标题】:How can I combine view pages with the same header and footer in Codeigniter? 【发布时间】:2017-10-03 12:11:59 【问题描述】:

我想创建包含在 MVC 中的多个视图页面中的通用页眉和页脚。

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

有人可以给出一个逐步过程,以便在视图文件中包含一次要求。 通过Controller,我们可以像下面这样使用:-

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.. 来查看页面?

【问题讨论】:

***.com/questions/15221371/… 您可以先定义主题结构,然后移动到模块部分,这样会更好。 【参考方案1】:

控制器

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');

【讨论】:

我在问如何使用'require_once' 看到这个answer【参考方案2】:

阅读您的问题后,我认为您想制作具有基本样式的母版页或布局,其中包含菜单、页脚等。

假设你有一个 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>

在控制器中假设您要调用一个名为 About 的视图

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

Reference

【讨论】:

好的,可以和'require_once'一起使用吗..? 是的,但是如果您使用的是 MVC 框架,请遵循其规则和方法。 那么如何添加一个库并包含'APPATH'

以上是关于如何在 Codeigniter 中组合具有相同页眉和页脚的视图页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 codeigniter 制作基本布局(页眉、页脚、侧边栏)

如何使用引导程序和 codeigniter 使页眉和页脚静态并移动内容? [复制]

如何从 CodeIgniter 中具有相同列名的表中输出数据?

如何在每个报表查看器中使用相同的页眉和页脚?

codeigniter 解析模板中的内容

在 Codeigniter 中使用页眉和页脚的最佳方法