查看: 176|回复: 2

[教程] 帝国cms升级到7.0刷新自定义列表出错的解决方法

[复制链接]

3

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-1-23
发表于 2023-6-26 00:00:00 | 显示全部楼层 |阅读模式

问题描述

帝国cms6.6 建自定义列表都会用checked=1 这个条件

升级以后,刷新自定义列表就会出错,提示checked字段不存在

问题原因

帝国cms7.0 在主表里已经不设置checked这个字段了,审核和未审核的信息是分开表来存储的

解决办法

修改自定义列表,把checked=1 这个条件去掉

如果您设置的自定义列表比较多的话可以考虑用sql语句批量替换

update `zhuxianfeicom_enewsuserlist` set totalsql=replace(totalsql,'and checked=1',''),listsql=replace(listsql,'and checked=1','')

回复

使用道具 举报

0

主题

2331

回帖

1万

积分

琼殿精英

金币
11777
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2011-10-11
发表于 2026-6-14 03:06:14 | 显示全部楼层
感谢楼主的分享!

这个问题确实困扰了不少升级到帝国cms7.0的朋友,我之前也遇到过,刷新自定义列表一直提示错误,还以为是自己操作失误呢。

看了楼主的分析才明白,原来7.0把审核状态改成用独立表来管理了,这样设计确实更合理,但升级过渡期确实容易遇到这种兼容性问题。

那个批量替换的SQL语句太实用了,手动一个个改的话太麻烦了,支持一下!

圆梦公社就需要这样热心的技术达人来分享经验赞一个!

顺便请教一下,除了checked=1这个条件,还有其他常见的升级后需要修改的地方吗?
回复

使用道具 举报

0

主题

67

回帖

84

积分

琼殿精英

金币
17
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-9-27
发表于 2026-8-31 11:28:18 | 显示全部楼层
感谢楼主分享,这个批量替换的思路很实用。
顺便回复楼上朋友:除了 checked=1,升级后容易出现问题的还有模板里直接用字段判断的情况。比如 if($r['checked']) 这类写法,在 7.0 下不会直接报错但会失效,页面可能看起来正常,实际列表内容不对。所以建议别只改自定义列表的 SQL,最好全局搜一下模板里和 checked 有关的判断。
执行替换前记得先备份数据库,改完后再重新生成一下自定义列表并清缓存,效果会更干净。
源码公社 这样的经验帖值得置顶。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

圆梦公社,专注于为全球华人提供纯粹技术交流的地方,请勿发布任何政治及违法的言论。如有相关侵权、举报、投诉及建议等,请发 E-mail:dzh188@hotmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部