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

[版本 2.x] 如何将网站的头尾文件分离呢?

[复制链接]
发表于 2011-10-19 10:29:46 | 显示全部楼层 |阅读模式
网站头部的信息会有需要连接数据库查询,也有实时的信息判断,这个怎么处理能解决呢?
发表于 2011-10-19 11:17:04 | 显示全部楼层
home.php中这样写

<?php $this->load->view('header') ?>
。。。
。。。
。。。
<?php $this->load->view('footer') ?>
发表于 2011-10-19 11:25:29 | 显示全部楼层
在method中把你的信息(包括header和footer的信息)都保存在 data数组中一起load到你的view
$this->load->view('home',$data);
发表于 2011-10-19 11:55:51 | 显示全部楼层
本帖最后由 ~夜行侠~ 于 2011-10-19 11:56 编辑

写一个模板类template.php,在里面实现这种逻辑,再提供一个showView()方法。头尾有各自的模型。
以下供参加:
PHP复制代码
<?php if (!defined('BASEPATH'))
    exit('No direct script access allowed');
 
class Template
{
    private $mCI;    
   
    private $mHeaderView='header.php';//头部文件
    private $mFooterView='footer.php';//尾部文件
    private $mTemplateView='template.php';//模板框架
   
    public function __construct()
    {
        $this->mCI = &get_instance();
    }
 
 
    public function showView($rContent_data)
    {
        //$rContent_data 在控制器中实现内容逻辑与视图
             
       
        $data=array(
         $header_data=$this->getHeader(),
         $footer_data=$this->getFooter(),
         $content_data=$rContent_data
        );
        $this->mCI->load->view($this->mTemplateView,$data);
 
    }
    private function getHeader()
    {
        $h=new HeaderModel();//实现头部逻辑,
        $data=$h->getData();
        return $this->mCI->load->view($this->mHeaderView,$data,true);
    }
    private function getFooter()
    {
        $f=new FooterModel();//实现尾部逻辑,
        $data=$f->getData();
        return $this->mCI->load->view($this->mFooterView,$data,true);
    }
 
 
}
 
 
?>
复制代码

发表于 2011-10-19 15:27:16 | 显示全部楼层
楼上给的好详细,谢了
发表于 2012-7-24 14:24:25 | 显示全部楼层
~夜行侠~ 发表于 2011-10-19 11:55
写一个模板类template.php,在里面实现这种逻辑,再提供一个showView()方法。头尾有各自的模型。
以下供参加 ...

private $mTemplateView='template.php';//模板框架

请问这个地方指的是?如果是多模板呢?这个是要自己修改自定义吗?

本版积分规则