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



首先我说我到底做了什么

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

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

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

3)将我所有的css和js文件包含在yii2\后端\assets\AppAsset中.php

     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 = [
    'yiiwebYiiAsset',
    'yiibootstrapBootstrapAsset',
];

我的问题是,我的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

为什么它不起作用。谁能帮我解决这个问题....

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

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 和基本 Url 应该是

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

并最终检查应用程序/视图..

或者在你的yii2\后端\资产\AppAsset中.php

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

最新更新