使用帝国CMS的朋友可能有这样的需求:由于信息发生变化,或是数据出了问题,想要批量取消文章的审核状态,此时应该如何操作呢?
帝国CMS本身是支持取消文章审核的,选中文章,或选中多篇文章,点击下方的取消审核按钮即可取消审核,站点信息也会隐藏起来。
但这种方式,对于几十、几百篇的数据来说尚且可行,如果需要取消审核的文章多达数千甚至数万时,采取手动取消的方式就变得不可取。
那么怎样批量取消大量文章审核呢? 答案是:修改数据库,方法有二。
注:本文以news表为例,具体表名请根据实际情况调整。
1、将索引表字段checked的值设为0
update phome_ecms_news_index set checked = 0 where + 取消条件;
此方案对部分用户生效,部分用户可能无效,这取决于网站开发时的调用方式。如果调用时没有将checked=1作为条件加进去,单独设置此项无效。
2、checked=0无效时处理方式
A、将checked=1作为判断条件加入模板,刷新后即可生效。
B、将已审核数据搬入未审核。
帝国CMS有已审核、未审核、索引三套表,互相影响。已审核和未审核是两套表,两套表都包含主表与副表。
索引表是phome_ecms_index,第一种修改checked值的方式就是修改索引表。
已审核表是 phome_ecms_news、phome_ecms_news_data_1
未审核则在phome_ecms_news_check 以及phome_ecms_news_check_data表中。
操作分三步走:
A、将phome_ecms_news_index字段checked字段值设为0
B、将已审核表中要修改的数据分别复制到未审核表
C、将已审核表的数据删除
执行以上三步即可实现批量取消审核的效果,多达数十万、百万条数据也是几秒钟就能处理完毕。但如果并非专业人员,建议不要直接操作,弄坏了数据库后患无穷。
此外,复制到未审核表中的数据也是可以在后台编辑后再次审核的。