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

[已解决] 如何更好解决head头部文件 tilte输出问题

[复制链接]
发表于 2010-9-14 10:26:59 | 显示全部楼层 |阅读模式
本帖最后由 kinglike 于 2010-9-14 10:29 编辑

如何更好解决head头部文件 tilte输出问题。
大概是这样,网站建立了个头部的视图文件
headView.php

每次在控制器输出时候想动态更新 headView.php中<title>动态更新</title>
例如:
首页是:网站名_www.xx.com
分类是:分类名_网站名_www.xx.com
详细内容:内容标题_分类名_网站名_www.xx.com


如果每次都要自己根据需要获取内容传送给headView.php.

在headView.php中还需要判断是那个控制器页面给你的。然后再输出比较麻烦。
发表于 2010-9-14 10:50:29 | 显示全部楼层
用我发布的 HMVC,解决问题。。。
http://codeigniter.org.cn/forums/thread-1319-1-1.html
 楼主| 发表于 2010-9-14 15:11:39 | 显示全部楼层
程序都基本上写好了,如果按照你的框架是不是需要变动很大?
发表于 2010-9-14 15:19:29 | 显示全部楼层
你如果不想使用 HMVC,那只能每次都从控制器传递到视图了。
或者你可以做一个 helper 在视图里调用。
发表于 2010-9-14 16:47:34 | 显示全部楼层
本帖最后由 kis 于 2010-9-14 16:48 编辑

晒一晒我的方法
-----------------------------------------------
在library/Controller 里面新增方法如下
protected function _html($title = "", $js = "common")
{
        $html = array();
        $html['header'] = $this->header($title, $js);
        $html['footer'] = '';///
   ......(其他保密)
        return $html;
}
public function header($title = "", $options = null, $file_name = "header")
{
        $CI = & get_instance();
        $html = array();
        $html['title'] = $title;
        。。。(其他保密)
        return $CI->load->view($file_name, $html, true);
}
测试用例:控制器.php
function index(){
   $html = $this->_html('测试', null);
   $this->load->view('view_path', $html);
}

希望对你有一点用...

评分

参与人数 1威望 +2 收起 理由
Hex + 2 我很赞同

查看全部评分

 楼主| 发表于 2010-9-15 13:31:44 | 显示全部楼层
本帖最后由 kinglike 于 2010-9-15 13:32 编辑

我是将headView.php 的视图中title部分固定输出变量title
然后每个不同视图将需要输出的固定好给title。
PHP复制代码
 
<title><?php echo $title;?></title>
 
复制代码


控制器
PHP复制代码
 
//处理html页面header部分的参数传递,将参数传递给视图 headerView
$data['title']=$title_name.'_'.$this->config->item('host_name').'_'.$this->config->item('url_host');
$data['meta_des']=$title_name.','.$this->config->item('meta_des');
$data['meta_key']=$this->config->item('meta_key');
 
$this->load->view('headerView',$data);
 
复制代码


将部分网站名称做成config配置文件保存调用。

不过还是感谢大家,我快完工了!哈哈!

本版积分规则