织梦dedecms修复更新联动缓存不更新联动js的bug

织梦5.7版本内容模型管理自带有分类信息模板,今天修改了其信息类型的联动类别,在核心-频道模型-联动类别管理,修改了信息类别,但是发现修改完了后,更新所有枚举缓存、系统缓
织梦5.7版本“内容模型管理”自带有分类信息模板,今天修改了其“信息类型”的联动类别,在“核心”->"频道模型"->"联动类别管理",修改了信息类别,但是发现修改完了后,“更新所有枚举缓存”、“系统缓存“、”更新栏目HTML“,这些全部更新后,发现列表页调用的地方还是没有更新,还是保持原来修改前的信息类型。
解决方案:
我们修改的联动类别的”缓存组名“是叫"infotype",打开data/enums目录,找到infotype.php文件和“infotype.js”,这两个就是前台调用的联动类型,全是有系统自动生成。点击打开,发现infotype.php 已经更新为最新的,但是infotype.js 还是保持为原来的老的信息,这可能也是织梦的一个小BUG,就是再更新的时候只更新了php脚本,而没有去更新js脚本,我们可以复制infotype.php中的内容到infotype.js中,并按照js规则重写,然后更新下”系统缓存“和”更新列表HTML“,发现前台已经更新为最新的联动信息。
对于infotype.php、infotype.js这两个文件,在多次测试织梦联动类别之后发现一些规律(时而会发生,不是每次发生):
1、新建的联动,在第一次更新时会同时更新
2、在对已有的联动进行修改后,更新时,只更新infotype.php
3、在对已有联动进行添加多级联动时,比如对一级联动添加为二级或者三级时,系统会对infotype.php、infotype.js同时更新。
解决*.js联动不更新的问题,的方法如下:
文件\include\enums.func.php
查找 if(empty($issign)) WriteEnumsJs($egroup);
替换为
  //if(empty($issign)) WriteEnumsJs($egroup);
 //修复更新缓存不更联动js 这里的empty $issign 为空的时候才更新js ,但是根据代码,$issign 不可能为空,无法理解。 
 WriteEnumsJs($egroup);

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

dedecms织梦默认的TAG标签不是很灵活。有时候我们的标签需要进行一个分类,能不能像{dede:arclist}标签的自定义属性(如:flag=c,h),这样全站调用的时候更灵活。 全站调用TAG标签方法一般是: {dede:tag row='100' sort='new' getall='1'}a target="_blank
未审核文档的TAG会显示在TAG列表页面, 固然点击进入TAG时, 相关的未审核文章不会显示出来, 这样对用户体验是很不好的. DEDECMS暂时没有提供这个功能,所以要解决这个问题, 让DEDECMS不显示未审核文档的TAG, 就要修改TAG的显示库文件 tag.lib.php。 方法一 打
我们都知道DEDECMS生成的文件夹是按天生成的,只要传了图片就会自动建立个年月日的文件,centos系统下,都是随便排序的,很难找到对应文件夹,如果要按顺序排列,要怎么操作呢? 一、文件管理器: 修改 /dede/templets/file_manage_main.html $dh = dir($inp
我们有时候需要对织梦文档的点击量进行批量维护,比如采集来的文章,点击量都为0,需要批量修改,可以用到如下方法1。 1、在数据库里运行下面的代码就可以了,文章的点击量变得随机从500到1000 UPDATE dede_archives SET click=FLOOR(500 + (RAND() * 1000))
用过dedecms的朋友都知道,织梦cms后台系统基本参数里是无法直接上传图片的,我们更换logo图只能到ftp里替换,非常的不方便,我们如果想直接在系统基本参数里上传,要怎么处理呢?在这里需要对代码进行修改,具体流程如下: 实现方法,打开/dede/templets/sy
dedecms要想调用所有子栏目是没有这个标签的,要调用只可用sql标签,reid表示子栏目,channeltype=6表示模型为商品,sortrank表示按排序升序.小的放前面 {dede:sql sql=Select * from `dede_arctype` where reid0 and channeltype=6 ORDER BY sortrank limit 15}