Mar*_*tin 27 php templates codeigniter
我对MVC很新,最近我找到了CodeIgniter.我每天都在学习,但一个问题是它的模板引擎.在CodeIgniter中创建模板的最佳方法是什么?
CakePHP带有自己的模板库,CodeIgniter中是否有类似的功能?
Rya*_*her 25
与其他框架不同,CodeIgniter没有全局模板系统.除非另有说明,否则每个控制器独立于系统控制其自身的输出,视图为FIFO.
例如,如果我们有一个全局标题:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd" >
<html>
<head>
<title><?=$title?></title>
<!-- Javascript -->
<?=$javascript ?>
<!-- Stylesheets -->
<?=$css ?>
</head>
<body>
<div id="header">
<!-- Logos, menus, etc... -->
</div>
<div id="content">
Run Code Online (Sandbox Code Playgroud)
和全球页脚:
</div>
<div id="footer">
<!-- Copyright, sitemap, links, etc... -->
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
然后我们的控制器必须看起来像
<?php
class Welcome extends Controller {
function index() {
$data['title'] = 'My title';
// Javascript, CSS, etc...
$this->load->view('header', $data);
$data = array();
// Content view data
$this->load->view('my_content_view', $data);
$data = array();
// Copyright, sitemap, links, etc...
$this->load->view('footer', $data);
}
}
Run Code Online (Sandbox Code Playgroud)
还有其他组合,但通过用户库存在更好的解决方案,例如:
见下面的评论
jru*_*afa 14
我已经尝试了几种方法来做codeigniter模板,我留下的方式是最快最简单的,如下所示.
在控制器中:
//Charge the view inside array
$data['body'] = $this->load->view('pages/contact', '', true);
//charge the view "contact" in the other view template
$this->load->view('template', $data);
Run Code Online (Sandbox Code Playgroud)
在视图template.php中:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es">
<head>
<title>Template codeigniter</title>
</head>
<body>
<div>
<?=$body?>
</div>
<div class="clear"></div>
<div>Footer</div>
</div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
$body
是视图联系人.
小智 13
创建一个包含所有视图的库,并将其发送到您需要发送到内容视图的数据.这是所有的了!
<?php
class Display_lib
{
public function user_page($data,$name)
{
$CI =& get_instance ();
$CI->load->view('preheader_view',$data);
$CI->load->view('header_view');
$CI->load->view('top_navigation_view');
$CI->load->view($name.'_view',$data);
$CI->load->view('leftblock_view',$data);
$CI->load->view('rightblock_view',$data);
$CI->load->view('footer_view');
}
}
Run Code Online (Sandbox Code Playgroud)
该库易于使用和自定义,完全符合您的期望:
Codeigniter 模板通常只是一个 PHP 文件。您可以使用所有常用的 PHP 语法来输出变量、执行循环以及调用其他 PHP 代码。
控制器示例:
<?php
class Blog extends Controller {
function index()
{
$data['title'] = "My Real Title";
$data['heading'] = "My Real Heading";
$this->load->view('blogview', $data);
}
}
?>
Run Code Online (Sandbox Code Playgroud)
示例视图:
<html>
<head>
<title><?php echo $title;?></title>
</head>
<body>
<h1><?php echo $heading;?></h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
在此处的文档中阅读更多内容:CodeIgniter 用户指南:视图
归档时间: |
|
查看次数: |
52823 次 |
最近记录: |