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

[已解决] 问一个小问题,进来详谈。

[复制链接]
发表于 2011-3-6 15:30:39 | 显示全部楼层 |阅读模式
我在做一个小东西,用到了ci,
view层我是用分模块的,分成:
html_header.php------html代码中的信息,到"</head>"结束;
header.php-------从“<body>”开始,是各个页面的公共顶栏,包含导航栏等等。
sidebar.php------也就是公共的侧边栏;
以上的公共的部分,
还有其他单独的文件,
比如index.php可以引用上面的模块。

问题就在这,比如我有一个controller  名叫 conAAA
PHP复制代码
 
class ConAAA extends Controller{
//代码我从简了,
function index(){
data['index_var1']='var1';
data['index_var2']='var2';
data['sidebar_var1']='sidebar_var1';//给sidebar用的变量;
$this->load->view("index.php",$data);
}
 
function page()
{
data['page_var1']='var1';
data['page_var2']='var2';
data['sidebar_var1']='sidebar_var1';//给sidebar用的变量;
$this->load->view("page.php",$data);
}
 
复制代码


像上面那样,sidebar被index.php和page引用,如果要在sidebar使用变量,岂不是要在很多function里头设置?
当然也可以把公共变量统一设置,然后在每个function里头引用,但这样貌似也不是很方便;

有没有方便点的,更合理的安排?
不知道我那样讲会不会很乱,帮个忙,谢谢了。
 楼主| 发表于 2011-3-6 18:44:34 | 显示全部楼层
没人回答吗? HEX过来帮忙下。
发表于 2011-3-6 18:53:53 | 显示全部楼层
其实你这个问题论坛里面有很多人都提出了,可以搜一下嵌套视图。
我的做法是在view中this->load->view('common');
而common中的数据是通过一个function 载入的。
发表于 2011-3-6 21:30:22 | 显示全部楼层
楼主可以看一下 HMVC,正是你需要的,呵呵
在代码区找。
发表于 2011-3-7 10:43:02 | 显示全部楼层
我用sidebar_model解决了

本版积分规则