如何更好解决head头部文件 tilte输出问题
本帖最后由 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中还需要判断是那个控制器页面给你的。然后再输出比较麻烦。 用我发布的 HMVC,解决问题。。。
http://codeigniter.org.cn/forums/thread-1319-1-1.html 程序都基本上写好了,如果按照你的框架是不是需要变动很大? 你如果不想使用 HMVC,那只能每次都从控制器传递到视图了。
或者你可以做一个 helper 在视图里调用。 本帖最后由 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);
}
希望对你有一点用...:loveliness: 本帖最后由 kinglike 于 2010-9-15 13:32 编辑
我是将headView.php 的视图中title部分固定输出变量title
然后每个不同视图将需要输出的固定好给title。
<title><?php echo $title;?></title>
控制器
//处理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配置文件保存调用。
不过还是感谢大家,我快完工了!哈哈!
页:
[1]