您现在的位置是:首页 > 教程 > dedecms教程dedecms教程
dede织梦怎么修复更新联动缓存不更新联动js的bug
友巧2024-01-25 23:06:40dedecms教程已有人查阅
导读织梦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
查找
解决方案:
我们修改的联动类别的”缓存组名“是叫"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二次开发时用arclist调用于附加表字段的方法
以前用织梦DEDECMS做二次开发时获取附加表字段内容都是通过runphp执行SQL查询获得,最近看了看手册,发现一个非常简便的方法。 -
织梦cms的验证码改为数字的方法
有时我感觉要输入字母验证码的话有点麻烦,如果是数学验证码,要方便些,因为我们的数学小键盘,于是我就想把织梦的验证码改成数字验证码。 -
dede织梦统计sql语句写法大全
今天给大家分享的是织梦DedeCMS统计sql语句,总结我们经常用到的。共有评论:多少条共有会员:多少名文章阅读:多少人次 -
dede织梦5.7官方网站演示地址缩略图有无判断代码示例
官方网址有无判断:演示地址有无判断:{dede:field name='officialdemo' runphp='yes'}
留言与评论 (共有 条评论) |