yii导入资源文件

来源:互联网 发布:安装完ubuntu无法启动 编辑:程序博客网 时间:2024/05/05 13:24
Php代码 复制代码 收藏代码
  1. Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl ."/js/TableView.js"); 
  2. Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl ."/js/datechooser.js"); 
  3. Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl . "/css/datechooser.css"); 
[php] view plaincopy
  1. Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/TableView.js");  
  2. Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/datechooser.js");  
  3. Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl . "/css/datechooser.css");  

批注1:在视图层引用与在控制层引用的方式一样。但在视图层中引用加载的要晚一些。
批注2:引用路径是使用baseUrl,而不是basePath。
批注3:关于参数CClientScript::POS_END,作用是延时加载,提高页面渲染效率。例如:
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/jqueryui/jquery-ui.min.js", CClientScript::POS_END);
全部参数一览:
CClientScript::POS_HEAD : the script is inserted in the head section right before the title element.
CClientScript::POS_BEGIN : the script is inserted at the beginning of the body section.
CClientScript::POS_END : the script is inserted at the end of the body section.
CClientScript::POS_LOAD : the script is inserted in the window.onload() function.
CClientScript::POS_READY : the script is inserted in the jQuery's ready function.
注:这些参数仅适用于加载js文件,不适用于加载css文件。

三、引入jquery核心部件
Php代码 复制代码 收藏代码
  1. Yii::app()->clientScript->registerCoreScript('jquery'); 
[php] view plaincopy
  1. Yii::app()->clientScript->registerCoreScript('jquery');  

批注:不论在页面中的何种位置引用,最终yii会将jquery.js文件放入yii的assets文件夹下。即/projectName/assets/82qg58/jquery-1.6.1.min.js。


二、在控制层(../controllers/xxController.php)添加CSS文件或JavaScript文件
Php代码 复制代码 收藏代码
  1. public function init() 
  2. {    
  3.     //parent::init();    
  4.     Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/my.css'); 
  5.     Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/css/my.js'); 
[php] view plaincopy
  1. public function init()  
  2. {     
  3.     //parent::init();     
  4.     Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/my.css');  
  5.     Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/css/my.js');  
  6. }  


一、在../layouts/main.php中引入
1,直接引入

Html代码 复制代码 收藏代码
  1. <!-- css --> 
  2. <link rel="stylesheet"type="text/css"href="<?php echo Yii::app()->request->baseUrl; ?>/css/print.css"media="print"/> 
  3. <!-- 图片 --> 
  4. <link rel="stylesheet"type="text/css"href="<?php echo Yii::app()->request->baseUrl; ?>/js/autocomplete/indicator.gif"/> 
  5. <!-- js --> 
  6. <script type="text/javascript"src="<?php echo Yii::app()->request->baseUrl; ?>/js/jquery.js"></script> 
[html] view plaincopy
  1. <!-- css -->  
  2. <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/print.css" media="print" />  
  3. <!-- 图片 -->  
  4. <link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/js/autocomplete/indicator.gif" />  
  5. <!-- js -->  
  6. <script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/jquery.js"></script>  


2,yii方式引入
Html代码 复制代码 收藏代码
  1. <?php 
  2. <!-- (一)简单用法 --> 
  3. <!-- js --> 
  4.     Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/jqueryui/jquery-ui.min.js", CClientScript::POS_END); 
  5.  
  6.  
  7. <!-- (二)复杂用法 --> 
  8. if($this->user->id) { 
  9.         Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl('/account/info', array('format' => 'js')), CClientScript::POS_END); 
  10.     } 
  11.  
  12.     if($this->user->id) { 
  13.         Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl('site/baseJs')); 
  14.     } 
  15. ?> 
[html] view plaincopy
  1. <?php  
  2. <!-- (一)简单用法 -->  
  3. <!-- js -->  
  4.     Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/jqueryui/jquery-ui.min.js", CClientScript::POS_END);  
  5.   
  6.   
  7. <!-- (二)复杂用法 -->  
  8. if($this->user->id) {  
  9.         Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl('/account/info', array('format' => 'js')), CClientScript::POS_END);  
  10.     }  
  11.   
  12.     if($this->user->id) {  
  13.         Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl('site/baseJs'));  
  14.     }  
  15. ?>  
原创粉丝点击