解决DEDECMS采集文章待审核后仍显示在列表页的问题,可以通过修改系统文件或数据库设置来实现,以下是几种常见的解决方法:
方法一:修改arclist.lib.php文件
1、找到并编辑文件:打开/data/tpl/arclist/arclist.lib.php
文件,找到以下代码位置:
“`php
if($CrossID==”)
{
$orwheres[]=’typeid in(SonGetIds(‘.$typeid.’))or typeid in(2)’.$typeid;
}
“`
2、进行修改:将上述代码修改为如下内容:
“`php
if($CrossID==”)
{
$orwheres[]=’arcrank > 1′;
}
“`
或者修改为:
“`php
if($CrossID==”)
{
$orwheres[]=’arcrank > 1 and ismake !=1′;
}
“`
3、保存并关闭文件:完成修改后保存并关闭文件,这样未审核的文章就不会再出现在列表页了。
方法二:禁止动态显示未审核文章
1、编辑plus/view.php文件:打开/plus/view.php
文件,找到以下代码位置:
“`php
//检查阅读权限
$needMid=$cfg>M_Rank<1||$ml>mid!=$cfg>M_ID?1:1;
$needMoney=$arc[‘money’]>0&&$ml>rank<1?1:0;
$needRank=1;
if(($ml>mid<>1)&&($needMid==1)){
showMsg("未审核文档,暂时不能查看",1);exit();
}
“`
2、添加条件判断:在该段代码下方添加以下代码:
“`php
$mid=$arc[‘Fields’][‘mid’];
if(($needMid==1)&&($needRank==1)&&$mid<>$cfg>M_ID){
showMsg("未审核文档,暂时不能查看",1);exit();
}
“`
3、保存并关闭文件:完成修改后保存并关闭文件,这样未审核的文章将不会以动态方式显示在列表页上。
方法三:同步微表和主表信息
如果以上方法均无效,可以尝试通过SQL语句同步微表(dede_arctiny)和主表(dede_archives)的信息,确保两者的arcrank字段一致:
1、执行SQL语句:
“`sql
Update dede_archives set arcrank = 1,ismake=0;
Update dede_arctiny set arcrank = 1;
“`
2、删除冗余数据:
“`sql
DELETE FROM dede_arctiny WHERE id NOT IN (SELECT id FROM dede_archives);
“`
通过以上步骤,可以确保未审核的文章不会出现在列表页中。
常见问题解答
问:为什么修改arclist.lib.php文件后,未审核的文章仍然显示在列表页?
答:可能是因为您的DEDECMS版本不同,建议根据实际版本调整代码位置,并确保修改后的代码正确无误。
问:如何快速检查DEDECMS的版本?
答:可以在后台管理界面查看系统信息,通常会显示当前使用的DEDECMS版本,也可以查看include/common.inc.php
文件中的$cfg
变量。
问:批量导入文章时,如何自动设置文章状态为待审核?
答:可以使用DEDECMS的插件或自定义脚本,在导入文章时自动将arcrank
字段设置为1,表示文章处于待审核状态,这样可以确保新导入的文章不会立即显示在列表页上。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1114937.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复