用户
 找回密码
 入住 CI 中国社区
搜索
查看: 10701|回复: 10
收起左侧

[讨论/交流] 如何用扩展CI来生成静态页面.....编写的时候要注意什么

[复制链接]
发表于 2008-9-5 17:49:14 | 显示全部楼层 |阅读模式
有没有一些参考的东西
发表于 2008-9-6 03:04:07 | 显示全部楼层
生成静态文件是什么意思?生成 .html 的页面?还是 cache?
 楼主| 发表于 2008-9-8 09:13:24 | 显示全部楼层
HTML页面,有没有一些CI开发的开源项目能参考
发表于 2008-9-8 09:54:58 | 显示全部楼层
生成 HTML 页面就是把视图内容写到文件中啊,这和输出到屏幕上有什么区别?
发表于 2008-9-22 20:18:14 | 显示全部楼层
生成静态HTML有几个注意的地方:
1、路径需要规划,可以类似于CI的URL方式来进行目录路径布局;
2、实际生成HTML时可以去掉一些不必要的目录层次,比方说分类和条目就都可以放到一个目录下,而不用不同的控制器和函数都起目录进行保存;
3、view视图的第三个参数设置成TRUE便可以取的输出内容,按照参数ID进行命名HTML文件即可,CI还有预览输出模式;
4、需要两套模板来进行后台管理操作显示和生成前台页面;
5、需要考虑独立条目生成和批处理方式;
6、生成、更新和删除时均要考虑数据记录和文件;

基本先这些,希望有点帮助吧。

[ 本帖最后由 LEMON 于 2008-9-22 20:19 编辑 ]

评分

参与人数 1威望 +3 收起 理由
Hex + 3 优秀解答

查看全部评分

发表于 2010-10-19 09:08:19 | 显示全部楼层
现在生成静态页面的网站好多好多,很多客户都要求要生成静态页面,他们认为这样更利于搜索引擎对于数据的抓取。
发表于 2010-10-24 13:02:59 | 显示全部楼层
write_file('index.html', $this->load->view('welcome_view', $data, true));
发表于 2010-10-24 14:56:07 | 显示全部楼层
手动开启php缓冲区就可以了,这样就可以解析后的html输出到缓冲区而不是浏览器,然后将其写到文件就可以了.
具体你可以参照:http://hi.baidu.com/mak0000/blog ... 1c6200d8f9fd60.html
发表于 2010-10-24 14:57:47 | 显示全部楼层
本帖最后由 mengdejun 于 2010-10-24 14:59 编辑

未命名.jpgx.jpg
发表于 2010-10-26 18:43:20 | 显示全部楼层
可以
$content=$this->load->view('view_name',$data,TRUE);//得到输出内容,当然了是包含全部页面和动态生成的数据的页面
在write_file('one.html',$content);//输出的one.html就是你想要的动态页面
其中write_file是CI的一个辅助类,文件辅助
你可以自己写一个helper,来生成静态页

在CI中写一个helper的话
就不能使用$this->load->view()了,
要使用超级全局对象
$CI=&get_instance();
$content=$CI->load->view('view_name',$data,TRUE);
write_file('one.html',$content);

本版积分规则