在DedeCMS(织梦内容管理系统)中,实现会员发表的文章自动审核并发布,可以通过修改系统的源码来实现,以下是详细的步骤和方法:
实现原理
DEDECMS文章是否被审核发布主要由arcrank
这个参数的值决定。arcrank
的值为1表示未审核,为0表示已审核,通过修改代码,将arcrank
为1的文章自动更改为0,即可实现自动审核的功能。
具体步骤
1、修改源码:找到系统中负责处理文章发布的部分,通常是在include/common.inc.php
文件中,添加自动审核的逻辑,具体代码如下:
<?php if(isset($_GET['pub'])) { require_once (dirname(__FILE__) . "/include/common.inc.php"); require_once DEDEINC."/arc.partview.class.php"; // 发布审核稿件 require_once(DEDEINC."/arc.archives.class.php"); for ($i=1; $i<=1; $i++) { $row = $dsql>GetOne("select * fromdede_arctiny
where arcrank = 1 order by id limit 1"); $id = $row['id']; $iquery = "updatedede_arctiny
set arcrank = 0 where id='$id'"; $dsql>ExecuteNoneQuery($iquery); $iquery2 = "updatedede_archives
set arcrank = 0, ismake = 1 where id='$id'"; $dsql>ExecuteNoneQuery($iquery2); $dsql>ExecuteNoneQuery("Updatedede_taglist
setarcrank
= 0 where aid='$id'"); $ac = new Archives($id); $rurl = $ac>MakeHtml(); } // 更新首页 $GLOBALS['_arclistEnv'] = 'index'; $row = $dsql>GetOne("Select * Fromdede_homepageset
"); $row['templet'] = MfTemplet($row['templet']); $pv = new PartView(); $pv>SetTemplet($cfg_basedir . $cfg_templets_dir . "/" . $row['templet']); $pv>SaveToHtml(dirname(__FILE__).'/index.html'); include(dirname(__FILE__).'/index.html'); exit(); } else { header('HTTP/1.1 301 Moved Permanently'); header('Location:index.html'); } ?>
此段代码主要完成以下操作:
查询dede_arctiny
表中arcrank
为1的文章。
将查询到的文章的arcrank
值改为0,表示已审核。
更新相关表,如dede_archives
和dede_taglist
。
重新生成文章的HTML页面。
2、设置栏目限定:如果需要限定自动审核的范围,可以在上述代码中添加条件判断,只对特定栏目的文章进行自动审核。
3、测试与部署:完成上述修改后,进行充分的测试,确保自动审核功能正常工作,然后部署到生产环境。
注意事项
在进行源码修改前,务必备份原始文件,以防万一。
确保服务器有足够的权限执行这些操作。
修改完成后,建议进行全面的功能测试,确保网站其他功能不受影响。
FAQs
1、Q: 自动审核是否会对所有新发布的文章生效?
A: 是的,只要文章的arcrank
值为1,即未审核状态,上述代码就会将其自动更改为已审核状态(arcrank
值为0),但如果你设置了栏目限定,那么只有特定栏目下的文章会被自动审核。
2、Q: 如何取消自动审核功能?
A: 要取消自动审核功能,只需将上述添加的代码删除或注释掉,并恢复原始的arcrank
设置逻辑即可,记得清理缓存并重新生成HTML页面。
通过以上方法,你可以实现DEDECMS会员发表的文章自动审核并发布,大大提高了工作效率和用户体验。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1231966.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复