设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
关于视图调用,我的优化方案
1
2
/ 2 页
下一页
返回列表
查看:
8215
|
回复:
16
[已解决]
关于视图调用,我的优化方案
[复制链接]
kkito
kkito
当前离线
积分
115
IP卡
狗仔卡
发表于 2008-3-30 11:45:07
|
显示全部楼层
|
阅读模式
http://codeigniter.org.cn/forums/thread-376-1-1.html
这个前几天讨论过,几种方案我觉得都不很好
昨天爬了一下rails和ci的代码,实现了一下类似rails的layout输出
实际就一小段代码
MY_Controller中增加一个render方法
function _render($viewName , $data = false , $layout = false){
//echo "this is ni render<br>";
//处理当前action调用视图的内容
$content = $this->load->view($viewName , $data , true);
//当前action视图内容在layout里显示
$data = array("ci_action_content"=> $content);
if(!$layout){
$layout = "default";
}
//得到layout视图
$this->load->view("layout/$layout" , $data);
}
添加一个layout
views/layout/default.php
<html>
<head>
<title>default layout</title>
</head>
<body>
<div>head info</div>
<div>
<?php echo $ci_action_content ?>
</div>
<div>bottom info</div>
</body>
</html>
action中使用_render生成
function test(){
$data = array("content"=>"action content");
$this->_render("test" , $data);
}
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
沧蓝
沧蓝
当前离线
积分
757
IP卡
狗仔卡
发表于 2008-3-30 22:15:00
|
显示全部楼层
这个效果直接用view就可以达到了啊。。。
回复
支持
反对
使用道具
举报
显身卡
kkito
kkito
当前离线
积分
115
IP卡
狗仔卡
楼主
|
发表于 2008-3-31 09:41:22
|
显示全部楼层
回复 2楼 的帖子
哦?
怎么弄啊?
给个例子我
回复
支持
反对
使用道具
举报
显身卡
沧蓝
沧蓝
当前离线
积分
757
IP卡
狗仔卡
发表于 2008-3-31 14:40:35
|
显示全部楼层
最简单的方式就是用一个header一个footer夹住content。
不然的话已经有人做过 layout library 了:
http://codeigniter.com/wiki/layout_library/
回复
支持
反对
使用道具
举报
显身卡
sam
sam
当前离线
积分
466
IP卡
狗仔卡
发表于 2008-3-31 14:48:43
|
显示全部楼层
是有点多余,不过思路很欣赏。。。。:)
回复
支持
反对
使用道具
举报
显身卡
kkito
kkito
当前离线
积分
115
IP卡
狗仔卡
楼主
|
发表于 2008-4-1 13:41:47
|
显示全部楼层
有library
超级酷
回复
支持
反对
使用道具
举报
显身卡
ambo
ambo
当前离线
积分
12
IP卡
狗仔卡
发表于 2008-7-19 20:46:30
|
显示全部楼层
lib酷......
回复
支持
反对
使用道具
举报
显身卡
itlong
itlong
当前离线
积分
-494
IP卡
狗仔卡
发表于 2008-7-26 19:52:52
|
显示全部楼层
还是加入smary这个强大的模版吧,不管什么layout,plugins,modifier,source都可以。
我看了fleaPHP,它的webControls其实就是一个smarty,实现了不错的view。
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50165
IP卡
狗仔卡
发表于 2008-7-27 02:14:28
|
显示全部楼层
smarty 好是好,可是不是每个人都喜欢,呵呵~
回复
支持
反对
使用道具
举报
显身卡
itlong
itlong
当前离线
积分
-494
IP卡
狗仔卡
发表于 2008-7-27 18:41:01
|
显示全部楼层
一个优秀的框架,除了有一个完整的功能外,还要提供方便易用的接口,
CI是一个不错的框架,它具备了一个基本的建站功能,可是,在细节功能上,还不能做到精.
特别在view上,不可能和完成的smarty比较,至少到目前为止,我还没有见到过哪个框架的VIEW能和smarty比较,包括(Zend framework, FleaPHP,ThinkPHP; Symfony还没有研过,不好说),所以,如果硬硬要开发一个CI强大的VIEW.不是好好的思路。如果一般的应用,CI的VIEW已经可以对付了。如果要做模版互嵌套,页面资源相互调用,还是用smaty的补丁,插件,函数,过滤器(输出前,输出中,输出后)..等,我想任何东西做不到唯美,善于利用别人的长处,才是硬道理.
回复
支持
反对
使用道具
举报
显身卡
下一页 »
1
2
/ 2 页
下一页
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页