2016-09-02 44 views
0

我试图在后端主布局中包含一个位于前端/ web/css中的css文件。它是在后端上工作,但是在前端上产生错误。前端网址是staging.example.com和后端网址是backend.example.com在Yii2中包含前端CSS文件到后端

<?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); 

回答

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); 
+0

感谢您的评论。我的代码为后端工作,但当我尝试在前端主布局中注册IconAsset时出错,从而导致错误。请告诉我如何在前端主布局中使用它。 – Alex

+0

引用[Carlos Manzo]给出的答案(http://stackoverflow.com/questions/37154991/share-assets-between-frontend-and-backend-in-yii2-advanced-template) –

+0

我试过你的代码,但得到了由于我的前端(staging.example.com)和后端(backend.example.com)具有不同的子域 – Alex

相关问题