Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates Codeigniter,如何制作模板_Templates_Codeigniter - Fatal编程技术网

Templates Codeigniter,如何制作模板

Templates Codeigniter,如何制作模板,templates,codeigniter,Templates,Codeigniter,我试图进入codeigniter MVC,但我不知道我如何制作我的模板,所以我有2个文件(页眉和页脚),然后我可以制作我的控制器,然后只把信息放在“内容”部分,所以我用这样一种很好的方式包括页眉和页眉 <?php include("header.php"); ?> <div id="content">My content here</div> <?php include("footer.php"); ?> 我的内容在这里 希望您理解我的意思

我试图进入codeigniter MVC,但我不知道我如何制作我的模板,所以我有2个文件(页眉和页脚),然后我可以制作我的控制器,然后只把信息放在“内容”部分,所以我用这样一种很好的方式包括页眉和页眉

<?php
include("header.php");
?>
<div id="content">My content here</div>

<?php
include("footer.php");
?>

我的内容在这里

希望您理解我的意思并能帮助我:)

最好的方法是在视图中加载视图

在views/content.php中:

<? $this->view('header', array('title'=>'The page title', 'keywords'=>'some keywords', 'etc'=>'...')); ?>
<div id="content">My content here</div>
<? $this->view('footer'); ?>
$data
可以包含“title”或“keywords”,并且可以在控制器中实现:

$data['title'] = 'title';
$data['keywords' = 'keywords';
在您的“内容”视图中:

<? $this->view('header', array('title'=>$title, 'keywords'=>$keywords)); ?>
<div id="content">My content here</div>
<? $this->view('footer'); ?>

我的内容在这里

这个问题的措辞不同,但实质上与这个问题几乎相同:

尝试使用模板库,它们将极大地帮助您。帮助您更好地管理模板,而不是默认的
$this->load->view('content',$data);

以下是一些很好的例子:


网上还有更多,试试谷歌搜索:)

我就是这么做的。我有一个名为layout.php的文件,其中包含所有html布局,在我的

$this->load->view($template);
在控制器中,可以执行以下操作:

$data['template'] = 'filename'; 
$this->load->view('layout', $data);

这样,它将在

好答案中加载名为“filename”的文件,但它不应该是
而不是
?不。由于$this不再指控制器,您可以只使用
,但是,您仍然可以使用
,我不记得视图中具体是什么$this,但我会研究它。如果您知道,请随时加入。因此,当您在视图中时,
$this
CI\u Loader
,这就是控制器中所指的
$this->load
。因此,使用
$this->view()
加载另一个视图(在视图中)是完全可以的。根据Ellisplates,在控制器中执行以下操作更合适:
$this->load->view('header',$data)$此->加载->查看(“内容”)$此->加载->查看('footer')
由于
CI_Loader
类缓存提取的
$data
属性,因此传递给第一个
view()
调用的任何内容都将在以下
view()
调用中可用。
$data['template'] = 'filename'; 
$this->load->view('layout', $data);