• yii2引入css和js文件


    转http://blog.csdn.net/cs23405/article/details/46865027

    最近研究yii2,本想自己写个小项目练习一下,没想到开始就遇到难题了,就是如何引入css和js文件。闲话不多说,下面开始。

    1、可以直接在视图页面上引入

    1. <?php   
    2. use yiihelpersHtml;  
    3. ?>  
    4. <?=Html::cssFile('@web/css/index.css')?>  
    5. <?=Html::jsFile('@web/js/jquery.min.js')?>  

    2、可以直接写原生代码引入,路径是项目目录/web/css 或者/js

    1. <script src="js/nav.js"></script>   


    3、可以使用assetBundle管理css样式及js脚本.

    资源包定义:basic/assets/AppAsset.PHP

    1. <?php  
    2. /** 
    3.  * @link http://www.yiiframework.com/ 
    4.  * @copyright Copyright (c) 2008 Yii Software LLC 
    5.  * @license http://www.yiiframework.com/license/ 
    6.  */  
    7.   
    8. namespace appassets;  
    9.   
    10. use yiiwebAssetBundle;  
    11.   
    12. /** 
    13.  * @author Qiang Xue <qiang.xue@gmail.com> 
    14.  * @since 2.0 
    15.  */  
    16. class AppAsset extends AssetBundle  
    17. {  
    18.     public $basePath = '@webroot';  
    19.     public $baseUrl = '@web';  
    20.     public $css = [  
    21.         'css/site.css',  
    22.         'css/base.css'  
    23.     ];  
    24.     public $js = [  
    25.         'js/sliders.js'  
    26.     ];  
    27.     public $depends = [ //依赖包,没有可以不写  
    28.         'yiiwebYiiAsset',  
    29.         'yiiootstrapBootstrapAsset',    
    30.     ];  
    31.   
    32.     //定义按需加载JS方法,注意加载顺序在最后    
    33.     public static function addScript($view, $jsfile) {    
    34.         $view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'apiassetsAppAsset']);    
    35.     }    
    36.         
    37.    //定义按需加载css方法,注意加载顺序在最后    
    38.     public static function addCss($view, $cssfile) {    
    39.         $view->registerCssFile($cssfile, [AppAsset::className(), 'depends' => 'apiassetsAppAsset']);    
    40.     }    
    41. }  

    在视图文件开头写入:

    1. <?php  
    2. use yiihelpersHtml;  
    3. use appassetsAppAsset;  
    4.   
    5. AppAsset::register($this);  
    6.   
    7. ?>  


    到现在为止,我们可以在浏览器上测试,发现并没有引入css和js文件,这里要注意了,我们还需要最后一步:

    在视图文件中我们要加入一下代码(注:如果我们使用公共视图文件,可以加入到公共视图文件,如果没有使用,可以放到单独页面中)

    1. <?php $this->beginPage() ?> <?php $this->head() ?> <?php $this->beginBody() ?> <?php $this->endBody() ?><?php $this->endPage() ?>  


    4、不需要在资源包管理器中定义方法,只要在视图页面中直接引入即可

      1. AppAsset::register($this);    
      2. //css定义一样    
      3. $this->registerCssFile('@web/css/font-awesome.min.css',['depends'=>['apiassetsAppAsset']]);    
      4.     
      5.  $this->registerJsFile('@web/js/jquery-ui.custom.min.js',['depends'=>['apiassetsAppAsset']]);    
      6. //$this->registerJsFile('@web/js/jquery-ui.custom.min.js',['depends'=>['apiassetsAppAsset'],'position'=>$this::POS_HEAD]);   
  • 相关阅读:
    mysql安装及初始密码问题
    centos7上安装erlang22.1
    共享文件夹设置
    putty免密登录
    重新开始
    单任务多线程 安全
    线程池
    多线程
    commons-IO
    打印流
  • 原文地址:https://www.cnblogs.com/sensai-sun/p/6694327.html
Copyright © 2020-2023  润新知