use*_*234 4 css php layout module yii2
我正在使用Yii2的基本包.我创建了一个名为Admin的模块,我希望这个模块有自己的布局.但我不知道在哪里放置所有的CSS文件.然后,如何将它们包含在layout.php中.
我的目录结构:
basic
-- module
-- admin
-- controllers
-- DefaultController.php
-- views
-- default
-- layouts
-- main.php
-- css
-- style.css
Run Code Online (Sandbox Code Playgroud)
在main.php中,我使用此代码,但它不起作用:
<?php $this->registerLinkTag([
'rel' => 'stylesheet',
'href' => 'css/style.css',
]);
$this->head(); ?>
Run Code Online (Sandbox Code Playgroud)
在此处创建自定义资产包类文件:
frontend/module/admin/assets/AdminAsset.php
Run Code Online (Sandbox Code Playgroud)
正确初始化$sourcePath和$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'];
}
Run Code Online (Sandbox Code Playgroud)
现在您可以注册此AdminAsset包(在布局,视图等中):
use frontend\module\admin\assets\AdminAsset;
AdminAsset::register($this);
Run Code Online (Sandbox Code Playgroud)