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

[视图] 包含文件的问题,有什么好办法解决?

[复制链接]
发表于 2010-12-10 09:03:17 | 显示全部楼层 |阅读模式
首页,列表页。。。以及很多页面都包含底部文件 <?php $this->load->view('footer');?>
底部文件里面有动态查询的内容,比如 友情链接,这样的话,每个页面的控制器都要写 友情链接的查询语句,很是麻烦,各位有什么好的解决办法没有,分享一下!
 楼主| 发表于 2010-12-10 09:52:09 | 显示全部楼层
本帖最后由 tangjianft 于 2010-12-10 09:53 编辑

我想到一个办法是,在各个控制器里 包含 底部文件 require "footer.php";这个文件写查询语句,这个footer.php 放在根目录下
视图文件 包含 <?php $this->load->view('footer');?>

这样是解决问了,但是感觉很不妥。。文件放的乱七八糟的
发表于 2010-12-10 09:57:24 | 显示全部楼层
你可以写在构造函数里。
这样在每个方法里直接调用就可以了。

var $datainc;
function __construct(){
$this->datainc['links'] = ...;
}
function abc()
{
data['links']=$this->datainc;
}
发表于 2010-12-10 10:17:51 | 显示全部楼层
把公共部分弄成一个library,再把这个library弄成全局,最后在view中调用。

或者用HMVC。
 楼主| 发表于 2010-12-10 11:05:37 | 显示全部楼层
HMVC  第一次接触, 看起来很高深啊,学习了
发表于 2010-12-10 11:57:49 | 显示全部楼层
可以试试Hex那个HMVC
 楼主| 发表于 2010-12-16 22:24:58 | 显示全部楼层
本帖最后由 tangjianft 于 2010-12-16 22:26 编辑

"把公共部分弄成一个library,再把这个library弄成全局,最后在view中调用。"

今天忽然发现,这个还不会做呢,请详细说下可以吗

在library 下新建一个类,然后类里写查询数据 比如已经写如下了,下一步该怎么办呢?

class Myclass
{
       function getLinks()
       {
             ....
             return $links_arr;
       }
}

本版积分规则