まあ、私はAppAssetのすべてのCSSとJavaScriptを宣言しましたが、フロントエンドビューのCSSとjsリンクを表示することはできません。ここに私のファイルは、以下のとおりです。Yii2 AppAssetがレイアウト内に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',
];
}
、ここでは私のレイアウトである(アプリ/モジュール/管理/レイアウト/ 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() ?>
前もって感謝します!
はい、ファイルへのパスは大丈夫です。現在、すべての私のcssとjsファイルで構成されるディレクトリはvendor/scriptsです。ベンダからのすべてのファイルは "web/assets/2b2e6bcf"にコピーされますが、残念ながらレイアウトのヘッドセクションに表示されていないようです。何か案は? –
かなり確信しないでください。あなたのプロジェクトでは、アプリケーションのメインフォルダに移動してから、vendor/assets/css/bootstrap.min.cssに移動してそこにファイルがあることを確認します。まともなyii2のインストールは何もそこにあるはずです。 –
私はすでに何度もチェックしています。ファイルはそこにありましたが、htmlレイアウトの先頭には宣言されていませんでした。今、私はそれらを "web/assets"ディレクトリに置くことにしましたが、やはり動作しないようです。メインポストを確認してください。 –