<返回

yii2框架如何加载静态资源

时间:2022-09-07

具体操作如下:

(学习视频分享:编程视频)

1、在 assets/AppAsset 里定义方法

<?php
/**
 * @link http://www.yiiframework.com/
 * @copyright Copyright (c) 2008 Yii Software LLC
 * @license http://www.yiiframework.com/license/
 */
 
namespace app\assets;
 
use yii\web\AssetBundle;
 
/**
 * @author Qiang Xue <qiang.xue@gmail.com>
 * @since 2.0
 */
class AppAsset extends AssetBundle
{
    public $basePath = '@webroot';
    public $baseUrl = '@web';
 
    // 全局
    public $css = [
        
    ];
 
    // 全局
    public $js = [
        
    ];
 
    public $depends = [
        // 'yii\web\YiiAsset',
        // 'yii\bootstrap\BootstrapAsset',  // 注释掉禁用bootstrap
    ];
 
    // 这是设置所有js放置的位置 
    public $jsOptions = [  
        'position' => \yii\web\View::POS_HEAD,    
    ]; 
 
    //定义按需加载JS方法
    public static function addJs($view, $jsfile) { 
        $view->registerJsFile(
            $jsfile, 
            [
                AppAsset::className(), 
                "depends" => "app\assets\AppAsset"
            ]
        ); 
    } 
 
    //定义按需加载css方法
    public static function addCss($view, $cssfile) { 
        $view->registerCssFile(
            $cssfile, 
            [
                AppAsset::className(), 
                "depends" => "app\assets\AppAsset"
            ]
        ); 
    } 
 
}

2、在view里调用

<?php
 
/* @var $this \yii\web\View */
/* @var $content string */
 
use yii\helpers\Html;
use yii\bootstrap\Nav;
use yii\bootstrap\NavBar;
use yii\widgets\Breadcrumbs;
use app\assets\AppAsset;
 
// 注册全局加载
AppAsset::register($this);
 
// 按需加载css
AppAsset::addCss($this, Yii::$app->request->baseUrl."/css/site.css");
// 按需加载js
AppAsset::addJs($this, Yii::$app->request->baseUrl."/js/respond.min.js");
 
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
    <meta charset="<?= Yii::$app->charset ?>">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <?= Html::csrfMetaTags() ?>
    <title><?= Html::encode($this->title) ?></title>
    <?php $this->head() ?>
</head>
<body>
<?php $this->beginBody() ?>
 
        
    <?= $content ?>
 
<?php $this->endBody() ?>
</body>
</html>
<?php $this->endPage() ?>

相关推荐:yii框架

以上就是yii2框架如何加载静态资源的详细内容,更多请关注gxlsystem.com其它相关文章!

相关文章
最新文章
热门推荐
网友评论