PHP CI 用同一个header各页面调用不同的JS与CSS文件

发布时间:2016-06-15 17:22 | 人气数:343

你的意思是不同的页面引入不同的js,css文件,但是所有的页面都公用一个头部,而现在的实现是将所有的js,css文件的引入写在的头部页面中,所以导致有些页面引入了不需要的文件,增加了请求数量,以及页面大小。那么你可以尝试以下方法:

新建配置文件 loadfile.php

$config['loadfile'] = array(
'js' => array('base'=> array('common.js','base.js','lib.js'),'full' => 'xx.js','xxx1.js','.....','homePage' => 'xxx.js');
'css' => ....
)

那么在load view 前更具不同的页面先调用不同的配置:

$this -> load -> config('loadfile');
$loadFiles = $this -> config -> item('loadfile');
$data['js'] =  $loadFiles['js']['homePage'];
$data['css'] = $loadFiles['css']['base'];
$this->load->view("xxx",$data);
在xxx模板页面中写:<?php $this->load->view('header');?>

在header文件中引入js和css的地方写为:
<?php
foreach($js as $jsf)
echo '<script type="text/javascript" src="xxx/js/'.$jsf.'"></script>';
foreach($css as $cssf)
echo '<link rel="stylesheet" type="text/css" href="css/'.$cssf.'" />';
?>
如果用到了模板引擎,那么思路是一样的。

大概就是这么个意思,方法还可以简单,自己根据实际情况优化吧。

关键词:PHP, ci, codeigniter