我想再后台加入新的css和js按照文档上的说两种方式都没有加载进来

bug问题 · zxh9011 · 于 6年前 发布 · 1950 次阅读

这是我模板下的css js文件这个是在service配置文夹下的page里面配置

共收到 10 条回复
Fecmall#16年前 0 个赞

请写详细你的步骤,阐述抓住两点要素:

1.文件路径,2.文件里面添加或者修改,或者改动的代码,描述清楚。

你这个问题涉及到的所有的文件路径,以及里面改动或者添加的代码都粘贴出来,这才是发帖应有的姿势。

尽量不要用截图阐述代码,直接把代码复制上来,用markdown格式,不了解可以去了解一下,非常简单,几个标签就够用了。

2楼 已删除.
zxh9011#36年前 0 个赞

@Terry #1楼 我首先在/vendor/fancyecommerce/fecshop/app/appadmin/theme/base/default文件夹下建立一个assets文件夹,并且在其文件夹下(assets)创建了js css image文件夹对应的文件夹下放入对应js css iamge文件, 然后我在vendor/fancyecommerce/fecshop/config/services/Page.php加入以下代码 'jsOptions' => [

            [
                # js options ,来定义位置,条件等
                'options' => [
                    'position' =>  'POS_END',
                    //'condition'=> 'lt IE 9',
                ],
                # 在当前options下的js文件
                'js'	=>[
                    'js/fileUpload.js',
                    'js/iconfont.js',
                ],
            ],
        ],

但是我后台刷新页面清理缓存都没有加载进来

Fecmall#46年前 0 个赞

后台使用的是这个扩展:https://github.com/fecshop/yii2_fec_admin ,这个是Yii2 + DWZ 继承的后台,是一个独立的扩展,ajax加载型框架,先把整体加载处理,然后,点击左侧菜单,单独刷新内容部分。

在这个基础上,fecshop做的后台,因此,fecadmin是fecshop的依赖包,fecshop机制的多模板并不支持,因此需要重新处理一下

因此,fecshop的多模板机制,目前无法使用。

我重写一下模块里面的fecadmin/index/index部分,让其可以使用fecshop的多模板机制,等我的消息。

Fecmall#56年前 0 个赞

您好,搞了一个多小时,现在已经弄好了

1.提交的代码地址:

https://github.com/fecshop/yii2_fecshop/commit/106e31c8e843ef616b4c906c6a5514ec3f4870da

2.您不应该修改vendor下面的任何文件,您需要添加js,css 可以参看文档: Fecshop Admin 模板Theme

该文档,需要在您更新上面提交的代码后才能生效

最后:今晚提交的代码,将于下个版本中更新,过几天发个子版本。

Fecmall#66年前 0 个赞

另外js 和 css 重写文档,进行了一些更新:http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-js-css.html

7楼 已删除.
zxh9011#86年前 0 个赞

@Terry [#6楼](#comment6) 首先非常感谢的回答 我重新看了一下文档理解了很多 我在创建新某块的时候出现了You donot have role to visit this controller 第一步我的模块类是没有问题的appadmin/local/local_modules/Service/Module.php

class Module extends \fec\AdminModule
{
    public function init()
    {
        // 以下代码必须指定
        echo '22222';exit();
        $this->controllerNamespace = __NAMESPACE__ . '\\controllers';
        $this->_currentDir = __DIR__;
        $this->_currentNameSpace = __NAMESPACE__;

        // 指定默认的man文件
        $this->layout = '/main_ajax.php';
        parent::init();
    }
}

这里的echo是可以执行的 第二步就是的控制器的基类appadmin/local/local_modules/Service/ServiceController.php

namespace appadmin\local\local_modules\Service;

use fecshop\app\appadmin\modules\AppadminController;

class ServiceController extends AppadminController{
    public function __construct()
    {
        echo '111111';exit();
    }
}

这里的echo也是可以执行的 第三步就是的控制器了appadmin/local/local_modules/Service/controllers/IndexController.php

namespace appadmin\local\local_modules\Service\controllers;

use appadmin\local\local_modules\Service\ServiceController;

class IndexController extends ServiceController{
    public function actionIndex()
    {
        echo '2222';exit();
        $data = $this->getBlock()->getLastData();
        return $this->render($this->action->id, $data);
    }
}

这里的echo 就是执行不了了出现You donot have role to visit this controller 我的后台菜单配置这样的

Fecmall#96年前 0 个赞

文档:http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-appadmin-developer.html

上面文档的最后部分有这么一句话:关于后台加入菜单,以及设置权限可以参看文档:http://www.fecshop.com/topic/437

需要刷新cache。

zxh9011#106年前 1 个赞

@Terry #9楼 非常感谢 怪我没有注意清除一下缓存 增删查改一切Ok 万分感谢

zxh9011#116年前 0 个赞

@Terry #9楼 还是加载css js 问题 http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-appadmin-theme.html我按照这个文档来配置的 模板是没有问题的新增的css js 加载不了 前提是我已经修改您昨晚上传的后台多模板机制文件 第一步我在appadmin/theme/local/theme01/创建了assets文件夹并且对应创建了css js 文件夹放入相应的文件 第二步我在appadmin/config/fecshop_local_services/Page.php代码如下

return [
    'page'=>[
        'childService'=>[
            'asset' => [
                'class' =>  'fecshop\services\page\Asset',
                // js 版本号,当更改了js,将这里的版本号+1,生成的js链接就会更改为  xxx.js?v=2 ,
                // 这样做的好处是,js的链接url改变了,可以防止浏览器继续使用缓存,而不是重新加载js文件的问题。
                'jsVersion'     => 1,
                // css 版本号,原理同js
                // 关于版本号更多的信息,请参看:http://www.fancyecommerce.com/2017/04/17/css-js-%E5%90%8E%E9%9D%A2%E5%8A%A0%E7%89%88%E6%9C%AC%E5%8F%B7%E7%9A%84%E5%8E%9F%E5%9B%A0%E5%92%8C%E6%96%B9%E5%BC%8F/
                'cssVersion'    => 1,
                // 是否每次刷新,强制发布js css到线上? 开发环境设置为true,正式环境设置为false(你也可以设置为true,但是每次刷新都会复制js和css文件到@app/web/assets/下面,耗费资源)
                // 线上设置成false,每次访问不会强制复制js和css到发布环境,可以节省资源,但是,当css和js更新后,
                // 需要去@app/web/assets/ 路径下,手动清空所有的文件夹和文件,当assets路径下找不到文件,就会重新复制库包里的js和css到web环境,
                // 这是属于Yii2的知识范畴。
                'forceCopy' => true,
                // js and css config example:
                'jsOptions'	=> [
                    # js config 1
                    [
                        'options' => [
                            'position' =>  'POS_END',
                            //	'condition'=> 'lt IE 9',
                        ],
                        'js'	=>[
                            'js/bootstrap-fileinput.js',
                        ],
                    ],
                    # js config 2
                    //[
                    //    'options' => [
                    //        'condition'=> 'lt IE 9',
                    //    ],
                    //    'js'	=>[
                    //        'js/ie9js.js'
                    //    ],
                    //],
                ],
                # css config
                'cssOptions'	=> [
                    # css config 1.
                    [
                        'css'	=>[
                            'css/bootstrap.min.css',
                            'css/bootstrap-fileinput.css',
                        ],
                    ],

                    # css config 2.
                    //[
                    //    'options' => [
                    //        'condition'=> 'lt IE 9',
                    //    ],
                    //    'css'	=>[
                    //        'css/ltie9.css',
                    //    ],
                    //],
                ],

            ],
        ]
    ]
];
Fecmall#126年前 0 个赞

@zxh9011 #11楼 代码更新后,参看文档:http://www.fecshop.com/doc/fecshop-guide/develop/cn-1.0/guide-fecshop-appadmin-theme.html

是可以的,我都测试了,没有问题,文档里面都有我测试通过后,从html取出来的字符

<link href="/assets/2be7122d/css/my.css?v=1" rel="stylesheet">

...

<script src="/assets/2be7122d/js/my.js?v=1"></script>

详细看看那个文档

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics