2016-03-02 16:01:11 4763次浏览 2条回答 0 悬赏 20 金钱

高级版本,我打算前端通过主题,themes来制作多个模版,现在遇到的问题是,每个主题的资源文件,如css,js,img等这些文件,我是应该放在哪个位置比较合适。

我原本打算是这样放的
资源文件:/frontend/themes/default/views/dist
视图文件:/frontend/themes/default/views

web目录:/frontend/web
然后在预览前端页面的时候,发布到/frontend/web/assets里,但是,这里就遇到问题了,如何发布到assets。

我查看了下AppAsset.php中的依赖包里面的资源会自动发布到assets中,请高手指导下。

备注:这样一个主题给其他项目用的时候,只要把default给复制出来就可以了,但是看了yii2里的Theme.php介绍,意思是资源文件放到/frontend/web下面,然后我不知道该怎么弄了。

  • 回答于 2016-03-02 22:52 举报

    学习了。谢谢。

  • 回答于 2016-03-04 12:59 举报

    不用放到web下,你可以在 themes\default 目录下 创建个 AppAsset.php 文件,内容如下。

    namespace frontend\themes\default;
    
    use yii\web\AssetBundle;
    
    class AppAsset extends AssetBundle
    {
        public $sourcePath = '@app/themes/default/views/dist';
        public $css = [
            'css/site.css',
        ];
        public $js = [
            
        ];
        public $depends = [
            'yii\web\YiiAsset',
            'yii\bootstrap\BootstrapAsset',
        ];
    }
    

    布局或视图文件中使用 \frontend\themes\default\AppAsset::register($this)
    就可以把 themes/default/views/dist 下的内容发布到 assets 目录下了。

您需要登录后才可以回答。登录 | 立即注册
lzxassj
职场新人

lzxassj

注册时间:2012-08-02
最后登录:2016-03-03
在线时长:4小时28分
  • 粉丝3
  • 金钱20
  • 威望0
  • 积分60

热门问题