配置资源包:
Yii2对于CSS/JS 管理,使用AssetBundle资源包类。
打开 backend/assets/AppAsset.php
namespace backendassets; use yiiwebAssetBundle; class AppAsset extends AssetBundle { public $basePath = '@webroot'; public $baseUrl = '@web'; //全局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,'@web/js/jquery-ui.custom.min.js'); AppAsset::addCss($this,'@web/css/font-awesome/css/font-awesome.min.css');
直接加载
AppAsset::register($this); //css定义一样 $this->registerCssFile('@web/css/font-awesome.min.css',['depends'=>['backendassetsAppAsset']]); $this->registerJsFile('@web/js/jquery-ui.custom.min.js',['depends'=>['backendassetsAppAsset']]);
- 本文固定链接: https://zxbcw.cn/post/5135/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)