本文实例讲述了yii安装eclientscript插件扩展实现css,js文件代码压缩合并加载功能。分享给大家供大家参考,具体如下:
扩展插件下载地址,解压后复制到/protected/vendor/
https://github.com/muayyad-alsadi/yii-eclientscript
main配置文件配置插件,components里面增加
//js,css代码压缩,合并
'clientscript' => array(
'class' => 'application.vendor.yii-eclientscript.eclientscript',
'combinescriptfiles' => true, // by default this is set to true, set this to true if you'd like to combine the script files
'combinecssfiles' => true, // by default this is set to true, set this to true if you'd like to combine the css files
'optimizescriptfiles' => !yii_debug, // @since: 1.1
'optimizecssfiles' => !yii_debug, // @since: 1.1
'optimizeinlinescript' => false, // @since: 1.6, this may case response slower
'optimizeinlinecss' => false, // @since: 1.6, this may case response slower
),
工具类unit.php放于/protected/vendor/components,类中定义加载方法
/**
* 注册js 文件
*/
public function jsfile($file,$position=cclientscript::pos_head,$media=array()){
$cs=yii::app()->getclientscript();
$cs->registerscriptfile($file,$position,$media);
}
/**
*注册css文件
*/
public function cssfile($file,$media=''){
yii::app()->getclientscript()->registercssfile($file,$media);
}
模板调用css文件,js文件
<?php
//注册css文件,
unit::cssfile('/css/home/base.css');
//result to:<link rel="stylesheet" type="text/css" href="/css/home/base.css" />
//ie6下加载css文件
unit::cssfile('/css/form.css','lte ie 6');
//result to:<!--[if lte ie 6]><link rel="stylesheet" type="text/css" href="/css/form.css" /><![endif]-->
//注册js文件,
unit::jsfile('/js/jquery.lazyload.js');
//result to:<script src="/js/jquery.lazyload.js">
//ie9下加载js文件
unit::jsfile('/js/common.js', cclientscript::pos_head, array('media' => 'lt ie 9'));
//result to:<--[if lt ie 9]><script src="/js/common.js"><![endif]-->
?>
希望本文所述对大家基于yii框架的php程序设计有所帮助。
更多yii安装eclientscript插件扩展实现css,js文件代码压缩合并加载功能。
