在Yii2中将前端CSS文件包含在后端中

时间:2016-09-02 06:30:13

标签: php yii2 yii2-advanced-app

我尝试将位于前端/ web / css 的css文件包含在后端主布局中。 适用于后端会产生前端错误。前端网址为 staging.example.com ,后端网址为 backend.example.com

<?php
namespace frontend\assets;
use yii\web\AssetBundle;

class IconAsset extends AssetBundle
{
    public $sourcePath = '@frontend/web';
    public $css = [
        'css/icon.css',
    ];
}
?>

前端布局main.php中的代码

use frontend\assets\IconAsset;
IconAsset::register($this);

后端布局main.php中的代码

use frontend\assets\IconAsset;
IconAsset::register($this);

1 个答案:

答案 0 :(得分:0)

您需要在前端创建自定义资产包,如下所示

     namespace frontend\assets;
     use yii\web\AssetBundle;
     use yii\web\YiiAsset;

        class CustomAsset extends AssetBundle{
            public $basePath = '@webroot';
            public $baseUrl = '@web';
            public $css = [
                'css/custom.css',
                'css/another_css.css'
            ];
        }`

将上面的代码放在前端Web可访问文件夹中,并将此资产注册到bakend主布局文件中,如下所示

use frontend\assets\CustomAsset;
use Yii;

$bundle = CustomAsset::register(Yii::$app->view);