CodeIgniter加载多个视图意味着什么?

时间:2017-05-15 06:40:14

标签: php codeigniter

<?php
    class Page extends CI_Controller
    {
        function index()
        {
            $data['page_title'] = 'Your title';
            $this->load->view('header');
            $this->load->view('menu');
            $this->load->view('content', $data);
            $this->load->view('footer');
        }
    }
?>

我想运行这个例子。但是,仅生成页面错误而不执行。我很好奇这些事情。

  1. 此示例是否在一个视图页面中包含标题,菜单,内容和页脚?

  2. 我想运行这个例子,但我该怎么写呢?我应该创建另一个ViewPage吗?

4 个答案:

答案 0 :(得分:2)

在Codeigniter中,然后查看函数调用视图文件夹中的页面。您必须提供的名称没有php扩展名。例如,你的文件夹结构看起来像这样

->view
 -header.php //have the header section
 -menu.php //menu for the website
 -content.php //page content
 -footer.php //footer files

因此,当您在控制器中以正确的顺序加载这些视图时,它将为您提供完整的网页。
我从这个tutorial中学习了CodeIgniter,它来自CodeIgniter本身。如果您仔细阅读,您将了解CodeIgniter的工作原理。

答案 1 :(得分:1)

您可以关注Merge Bootstrap to your current codeIgniter project in PhpStorm on ubuntu 16.04博文。在帖子的最后,它描述了如何逐步添加页眉页脚

答案 2 :(得分:1)

您给出的示例是一种方法,用于定义Master Page类似于将页面划分为不同部分的内容,内容部分是在页面更改时更改的区域,其余部分保持不变。

此处headermenufootercontent这些是不同的观点。所有这些部分的所有部分都保持相同。但是content是包含其中实际数据的页面,对于每个页面都是不同的。

$this->load->view('content', $data);

所以我们在其中传递$data变量。

答案 3 :(得分:1)

像普拉纳夫说的那样......

在application / view中创建一个名为header.php的文件

您可以将标题html放在那里。

重复其他观点。

示例中的$ data变量将传递给内容视图。

$data['my_paragraph'] = 'Here is all my content';

所以application / view / content.php可以写成:

<div>
  <?=$my_paragraph?>
</div>