好吧,我在AppAsset中声明了我所有的CSS和JavaScript内容,但我不能让它在前端视图中显示css和js链接。这是我的文件:
应用程序/资产/ AppAsset.php:
<?php
namespace app\assets;
use yii\web\AssetBundle;
class AppAsset extends AssetBundle {
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'assets/css/bootstrap.min.css',
'assets/plugins/weather-icon/css/weather-icons.min.css',
...
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
这是我的布局(app / modules / admin / layouts / admin.php):
<?php
use app\assets\AppAsset;
AppAsset::register($this);
?>
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="en">
<head>
<?php $this->head() ?>
<?= $this->render('partials/head') ?>
</head>
<body class="tooltips">
<?= $this->render('partials/colour_panel') ?>
<div class="wrapper">
<?= $this->render('partials/top_navbar') ?>
<?= $this->render('partials/left_sidebar') ?>
<?= $this->render('partials/right_sidebar') ?>
<div class="page-content">
<div class="container-fluid">
<?= $content ?>
<?= $this->render('partials/footer') ?>
</div>
</div>
</div>
<?= $this->render('partials/scripts') ?>
</body>
</html>
<?php $this->endPage() ?>
提前致谢!
答案 0 :(得分:8)
我有同样的问题。在我的案例中,布局在<?php $this->beginBody() ?>
标记内没有<?php $this->endBody() ?>
和<body></body>
个部分。
应该是这样的:
<body>
<?php $this->beginBody() ?>
<!--content-->
<?php $this->endBody() ?>
</body>
希望它有助于某人
答案 1 :(得分:5)
这部分
<?php $this->head() ?>
应自动将它们复制到头部。你确定你使用的路径是正确的吗?
public $sourcePath = '@vendor';
public $css = [
'assets/css/bootstrap.min.css',
意味着你的文件在vendor / assets / css / bootstrap.min.css中找到你确定是对的吗?因为那对我来说不对。
答案 2 :(得分:0)
您的资产文件夹文件大小可能超过20MB。我认为资产经理没有创建大文件夹。
答案 3 :(得分:0)
我遇到了同样的问题,因为我错误地从frontend/views/layouts/main.php
的行下面删除了
<?php $this->head() ?>
添加上述行后,CSS开始工作。