如何创建包含yii2后端的自定义主题

时间:2016-03-11 14:27:47

标签: php yii yii2 themes

首先,我告诉我实际上做了什么

1)创建了我的主题文件夹yii2 \ backend \ web \ themes \ basic,其中包含我主题的所有css,js文件

2)我在yii2 \ backend \ config \ main.php中配置了我的主题,如下所示:

 'components' => [
    'view' => [
        'theme' => [
            'basePath' => '@app/themes/basic',
            'baseUrl' => '@web/themes/basic',
            'pathMap' => [
                '@app/views' => '@app/themes/basic',
            ],
        ]
    ]
],

3)包含yii2 \ backend \ assets \ AppAsset.php中的所有css和js文件

     public $basePath = '@webroot';
public $baseUrl = '@web';
public $css = [
    //'css/site.css',
    'plugins/pace/pace-theme-flash.css',
    //'plugins/boostrapv3/css/bootstrap.min.css',
    //'plugins/boostrapv3/css/bootstrap-theme.min.css',
    'plugins/font-awesome/css/font-awesome.css',
    'css/animate.min.css',
    'plugins/jquery-scrollbar/jquery.scrollbar.css',
    'css/style.css',
    'css/responsive.css',
    'css/custom-icon-set.css',
];
public $js = [
    //'plugins/jquery-1.8.3.min.js',
    //'plugins/jquery-ui/jquery-ui-1.10.1.custom.min.js',
    //'plugins/boostrapv3/js/bootstrap.min.js',
    'plugins/breakpoints.js',
    'plugins/jquery-unveil/jquery.unveil.min.js',
    'plugins/jquery-scrollbar/jquery.scrollbar.min.js',
    'plugins/jquery-numberAnimate/jquery.animateNumbers.js',
];
public $depends = [
    'yii\web\YiiAsset',
    'yii\bootstrap\BootstrapAsset',
];

我的问题是,我的css和js没有被发现它给出了404错误 我的文件位置与http://192.168.1.1:1010/backend/web/plugins/pace/pace-theme-flash.css类似。但我的实际文件链接是http://192.168.1.1:1010/backend/web/themes/basic/plugins/pace/pace-theme-flash.css

为什么它不起作用。任何人都可以帮助我......

1 个答案:

答案 0 :(得分:0)

如果你的文件位置就像你说的那样

http://192.168.1.1:1010/backend/web/plugins/pace/pace-theme-flash.css

而不是

http://192.168.1.1:1010/backend/web/themes/basic/plugins/pace/pace-theme-flash.css

您的basPath和基本网址应为

'components' => [
   'view' => [
     'theme' => [
        'basePath' => '@app',
        'baseUrl' => '@web',
        'pathMap' => [
            '@app/views' => '@app/themes/basic',
        ],
    ]
  ]
],

并最终检查app / view ..

或在您的yii2 \ backend \ assets \ AppAsset.php

       public $basePath = '@webroot/themes/basic';
       public $baseUrl = '@web/themes/basic';