本文實例講述了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相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優秀開發框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》
希望本文所述對大家基於Yii框架的PHP程序設計有所幫助。