yii中引入js和css文件

一、在../layouts/main.php中引入 

1,直接引入 

<!-- css -->  
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/css/print.css" media="print" />  
<!-- 图片 -->  
<link rel="stylesheet" type="text/css" href="<?php echo Yii::app()->request->baseUrl; ?>/js/autocomplete/indicator.gif" />  
<!-- js -->  
<script type="text/javascript" src="<?php echo Yii::app()->request->baseUrl; ?>/js/jquery.js"></script>  

2,yii方式引入 

<?php  
<!-- (一)简单用法 -->  
<!-- js -->  
    Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/jqueryui/jquery-ui.min.js", CClientScript::POS_END);  
  
  
<!-- (二)复杂用法 -->  
if($this->user->id) {  
        Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl('/account/info', array('format' => 'js')), CClientScript::POS_END);  
    }  
  
    if($this->user->id) {  
        Yii::app()->clientScript->registerScriptFile(Yii::app()->createUrl('site/baseJs'));  
    }  
?>  

批注:在yii运行后,第一种在head中,第二种在body最后面,显然后者效率更高。但必须加载的js和css有必要写在head中。 

3,区别 

批注:至于为什么会有/assets/b729ab/js/jquery.js这样的文件生成,还在继续探索中。

二、在控制层(../controllers/xxController.php)添加CSS文件或JavaScript文件

public function init()  
{     
    //parent::init();     
    Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl.'/css/my.css');  
    Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl.'/css/my.js');  
}  

新增: 
在控制层,还可以在ActionIndex中引入,而且还可以引入别的module文件夹中的js/css文件。甚至是任意文件夹下的js/css文件 

public function actionIndex(){  
        $modify,$reg = some_value;  
        $js = $this->renderFile($this->getInstallViewPath(). '/asset/install.js',array('reg_mp'=>$reg), true);  
        $js = $this->renderFile($this->getViewPath() . '/assets/install_params.js', array('modify' => $modify), true);  
          
        $cs = Yii::app()->clientScript;  
        $cs->registerScript('asset/install', $js, CClientScript::POS_END);  
        $cs->registerCssFile(Yii::app()->baseUrl . '/css/launch_feed.css');  
        $cs->registerScript('assets/install_params',$js,CClientScript::POS_END);  
        $cs->registerScriptFile(Yii::app()->baseUrl . '/resources/jquery.form.js');  
        $cs->registerCssFile(Yii::app()->baseUrl . '/css/install_params.css');  
  
        $this->render('xxx');      
    }  
  
public function getInstallViewPath() {  
        return $this->getModule()->getBasePath().'/../operations/views';  
}    

三、引入jquery核心部件

Yii::app()->clientScript->registerCoreScript('jquery');  

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

四、在视图层(../views/..)添加CSS文件或JavaScript文件

Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/TableView.js");  
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . "/js/datechooser.js");  
Yii::app()->clientScript->registerCssFile(Yii::app()->baseUrl . "/css/datechooser.css"); 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值