您的位置:首页 > 编程语言 > PHP开发

yii2.0静态资源js css引入方法

2016-07-07 00:00 731 查看




配置资源包:

Yii2对于CSS/JS 管理,使用AssetBundle资源包类。

打开 backend/assets/AppAsset.php

namespace backendassets;

use yiiwebAssetBundle;

class AppAsset extends AssetBundle {
public $basePath = [email protected]/* */';
public $baseUrl = [email protected]/* */';

//全局CSS
public $css = [
'css/animate.css',
'css/style.min.css',
];

//全局JS
public $js = [
'js/jquery-2.1.1.js'
];

//依赖关系
public $depends = [
'yiiwebYiiAsset',
'yiiootstrapBootstrapAsset',
];

//定义按需加载JS方法,注意加载顺序在最后
public static function addScript($view, $jsfile) {
$view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'backendassetsAppAsset']);
}

//定义按需加载css方法,注意加载顺序在最后
public static function addCss($view, $cssfile) {
$view->registerCssFile($cssfile, [AppAsset::className(), 'depends' => 'backendassetsAppAsset']);
}
}

静态资源在视图中加载

1. 视图(或布局)使用全局CSS/JS

use yiihelpersHtml;
use backendassetsAppAsset;
use backendwidgetsAlert;

AppAsset::register($this);

2.在视图中加载单独的样式

$cssString = ".gray-bg{color:red;}";
$this->registerCss($cssString);

3.在视图中加载单独的JS

<?php$this->registerJs(
'$("document").ready(function(){
$("#login-form").validate({
errorElement : "small",
errorClass : "error",
rules: {
"AgNav[nav_cn]": {
required: true,
},
},
messages:{
"AgNav[nav_cn]" : {
required : "此字段不能为空.",
},
}
});
});'
);?>

or

<div id="mybutton">点我弹出OK</div>

<?php $this->beginBlock('test') ?>
$(function($) {
$('#mybutton').click(function() {
alert('OK');
});
});
<?php $this->endBlock() ?> <?php $this->registerJs($this->blocks['test'], yiiwebView::POS_END); ?>

4.视图中引入JS/CSS文件

使用自定义函数

//定义按需加载JS方法,注意加载顺序在最后
public static function addScript($view, $jsfile) {
$view->registerJsFile($jsfile, [AppAsset::className(), 'depends' => 'backendassetsAppAsset']);
}
AppAsset::register($this);
//只在该视图中使用非全局的jui
AppAsset::addScript($this,[email protected]/* *//js/jquery-ui.custom.min.js');
AppAsset::addCss($this,[email protected]/* *//css/font-awesome/css/font-awesome.min.css');

直接加载

AppAsset::register($this);
//css定义一样
$this->registerCssFile([email protected]/* *//css/font-awesome.min.css',['depends'=>['backendassetsAppAsset']]);
$this->registerJsFile([email protected]/* *//js/jquery-ui.custom.min.js',['depends'=>['backendassetsAppAsset']]);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: