如何在 Yii2 中使用自定义 css 文件布局模块
How to use custom css file for layout of a module in Yii2
我正在使用 Yii2 的基本包。我创建了一个名为 Admin 的模块,我希望这个模块有自己的布局。但我不知道将其所有 CSS 文件放在哪里。然后,如何将它们包含在 layout.php.
中
我的目录结构:
basic
-- module
-- admin
-- controllers
-- DefaultController.php
-- views
-- default
-- layouts
-- main.php
-- css
-- style.css
在main.php中,我使用了这段代码,但它不起作用:
<?php $this->registerLinkTag([
'rel' => 'stylesheet',
'href' => 'css/style.css',
]);
$this->head(); ?>
打开 'basic' 文件夹。你会看到一个名为 assets.
的文件夹
然后打开资产文件夹并在 AppAsset.php 文件中添加你的 css
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
'css/main.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
在此处创建自定义资产包 class 文件:
frontend/module/admin/assets/AdminAsset.php
正确初始化 $sourcePath
and $css
变量很重要。这是一个例子:
use yii\web\AssetBundle;
class AdminAsset extends AssetBundle {
// The directory that contains the source asset files for this asset bundle
public $sourcePath = '@app/module/admin/web';
// List of CSS files that this bundle contains
public $css = ['css/admin.css'];
}
现在您可以注册此 AdminAsset 包(在布局、视图等中):
use frontend\module\admin\assets\AdminAsset;
AdminAsset::register($this);
我正在使用 Yii2 的基本包。我创建了一个名为 Admin 的模块,我希望这个模块有自己的布局。但我不知道将其所有 CSS 文件放在哪里。然后,如何将它们包含在 layout.php.
中我的目录结构:
basic
-- module
-- admin
-- controllers
-- DefaultController.php
-- views
-- default
-- layouts
-- main.php
-- css
-- style.css
在main.php中,我使用了这段代码,但它不起作用:
<?php $this->registerLinkTag([
'rel' => 'stylesheet',
'href' => 'css/style.css',
]);
$this->head(); ?>
打开 'basic' 文件夹。你会看到一个名为 assets.
的文件夹
然后打开资产文件夹并在 AppAsset.php 文件中添加你的 css
class AppAsset extends AssetBundle
{
public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
'css/site.css',
'css/main.css',
];
public $js = [
];
public $depends = [
'yii\web\YiiAsset',
'yii\bootstrap\BootstrapAsset',
];
}
在此处创建自定义资产包 class 文件:
frontend/module/admin/assets/AdminAsset.php
正确初始化 $sourcePath
and $css
变量很重要。这是一个例子:
use yii\web\AssetBundle;
class AdminAsset extends AssetBundle {
// The directory that contains the source asset files for this asset bundle
public $sourcePath = '@app/module/admin/web';
// List of CSS files that this bundle contains
public $css = ['css/admin.css'];
}
现在您可以注册此 AdminAsset 包(在布局、视图等中):
use frontend\module\admin\assets\AdminAsset;
AdminAsset::register($this);