不知道大家对视图的布局如何做的?附上我的处理方法
CI 版本 2.2.0虽然我们可以这样写:
$this->load->view('header');
$this->load->view('menu');
$this->load->view('content', $data);
$this->load->view('footer');
但每个控制器中的方法都这样写视乎很麻烦,特别是布局文件过多时,例如:top,left,center,right...,岂不是要哭了!最重要的是想要删除或增加都需要修改控制器中的代码。
我的做法是:
第一步:定义布局文件并保存到你的模板目录,例如 index_layout.php ,在布局文件中创建基本的 HTML 结构,例如:
<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
<div id="header">...</div>
<div id="content">
<?php $this->load->view($tpl_file);?>
</div>
<div id="footer">...</div>
</body>
</html>
请注意:<?php $this->load->view($tpl_file);?> 这段代码。
第二步:修改控制对应的方法,把加载视图的代码$this->load->view(...) 改为:
$this->load->view('layout/index_layout', array(
'tpl_file' => 'article'
));
基本意思是:先加载布局文件,并赋值tpl_file变量指向到此方法需要加载的视图文件。
说明:可以创建多个布局文件,按需使用。其中布局文件也可以改成如下的代码:
<?php $this->load->view('layout/header');?>
<?php $this->load->view($tpl_file);?>
<?php $this->load->view('layout/footer');?>
不知道我的这种办法是好是坏呢?{:soso_e106:}
感覺彈性有點不好
我用的是 appleboy 提供的方法:
http://blog.wu-boy.com/2011/07/%E7%B0%A1%E6%98%93-codeigniter-layout-library-for-template/
学习了 采用这个吧
http://codeigniter.org.cn/forums/thread-19488-1-1.html 都是很不错的方法,但有两点小疑虑:一是需要额外加载类库会多出一部分开销,二是视图先保存到变量中再输出性能上是否不够优化。 pcjingl 发表于 2014-11-18 12:10
都是很不错的方法,但有两点小疑虑:一是需要额外加载类库会多出一部分开销,二是视图先保存到变量中再输出 ...
應該是沒差多少
以我的觀點來看
大多會影響網頁跑太慢的主因不外乎兩點:
1.圖片解析度太大
2.資料庫資料太多
简单点的话,在view直接用include('head.php') 阿呆 发表于 2014-11-19 13:40
简单点的话,在view直接用include('head.php')
include 涉及到路径问题
页:
[1]