当前位置:首页 > 行业动态 > 正文

如何在织梦CMS中实现文章的自动审核和发布?

织梦CMS自动审核并发布文章的第二种方法通常涉及使用插件或自定义代码。

织梦CMS(DedeCMS)是一款广泛使用的开源内容管理系统,它允许用户通过简单的操作来发布和管理网站内容,对于一些需要高效管理和自动化流程的网站管理员来说,手动审核和发布文章可能会显得效率低下,为了解决这一问题,可以通过一些技术手段实现文章的自动审核和发布功能,以下是具体的方法介绍:

方法一:通过修改信息发布员权限实现自动审核和发布

1、修改信息发布员权限:在织梦CMS后台,系统设置 > 用户组设定 > 信息发布员,为信息发布员添加“审核我发布的文档”的权限。

2、修改代码文件:打开dede/templets/article_add.htm文件,找到其中的where adminrank<=’$urank’并将其去掉。

3、效果:这样设置后,信息发布员在发布文章时,系统会自动将文章状态设为已审核,并生成相应的HTML页面。

方法二:通过SQL语句实现自动审核和发布

1、执行SQL语句:在DEDECMS中执行以下SQL命令:UPDATE dede_arcrank SET adminrank=1 WHERE membername=’开放浏览’。

2、效果:这条SQL语句会将所有未审核的文章状态更新为已审核,从而实现自动审核和发布。

方法三:通过编写PHP脚本实现定时自动审核和发布

1、创建PHP脚本:在DEDECMS的plus目录下新建一个名为makeid.php的文件,内容如下:

<?php
$lasttime = filemtime($_SERVER['DOCUMENT_ROOT'] . "/index.html");
$interval = 180; //更新时间秒为单位180秒=3分钟 3分钟审核一篇
if ((time()  $lasttime) > $interval) {
    require_once dirname(__FILE__) . "/../include/common.inc.php";
    $row = $dsql>GetOne("SELECT id FROMdede_archives WHERE arcrank = 1"); // 找到未审核的文章排序根据你的要求修改下
    $aid = $row['id'];
    if ($aid != "") {
        //审核文章
        $upquery = "UPDATEdede_archives SET arcrank = 0 WHERE id='$aid';";
        $upquery1 = "UPDATEdede_arctiny SET arcrank = 0 WHERE id='$aid';";
        $rs = $dsql>ExecuteNoneQuery($upquery);
        $rs1 = $dsql>ExecuteNoneQuery($upquery1);
        $isremote = (empty($isremote) ? 0 : $isremote);
        function MakeArt($aid, $mkindex = FALSE, $ismakesign = FALSE, $isremote = 0) {
            global $envs, $typeid;
            require_once DEDEINC . '/arc.archives.class.php';
            if ($ismakesign) $envs['makesign'] = 'yes';
            $arc = new Archives($aid);
            $reurl = $arc>MakeHtml($isremote);
            return $reurl;
        }
        $arcID = $aid;
        $artUrl = MakeArt($aid, true, true, $isremote);
        require_once DEDEINC . '/arc.partview.class.php';
        $envs = $_sys_globals = array();
        $envs['aid'] = 0;
        $pv = new PartView();
        $row = $pv>dsql>GetOne('SELECT * FROMcn_homepageset');
        $templet = str_replace("{style}", $cfg_df_style, $row['templet']);
        $homeFile = dirname(__FILE__) . '/' . $row['position'];
        $homeFile = str_replace("//", "/", str_replace("\", "/", $homeFile));
        $fp = fopen($homeFile, 'w') or die("无法更新网站主页到:$homeFile 位置");
        fclose($fp);
        $tpl = $cfg_basedir . $cfg_templets_dir . '/' . $templet;
        if (!file_exists($tpl)) {
            $tpl = $cfg_basedir . $cfg_templets_dir . '/default/index.htm';
            if (!file_exists($tpl)) exit("无法找到主页模板:$tpl ");
        }
        $GLOBALS['_arclistEnv'] = 'index';
        $pv>SetTemplet($tpl);
        $pv>SaveToHtml($homeFile);
        $pv>Close();
        exit();
    } else exit();
}
?>

2、添加到首页模板:在首页模板的最后面加入以下代码:<script src="http://www.****.com/plus/makeid.php" language="javascript"></script>

3、效果:这个脚本会每3分钟检查一次是否有未审核的文章,如果有则自动审核并生成HTML页面。

FAQs

1、问题一:为什么设置了自动审核但文章还是没有显示?

解答:请确保信息发布员拥有“审核我发布的文档”的权限,并且已经正确修改了dede/templets/article_add.htm文件中的代码,如果仍然不行,可以尝试清空浏览器缓存或重启服务器。

2、问题二:如何限制只有特定栏目的文章可以自动审核?

解答:可以在执行SQL语句时添加条件来限制特定栏目的文章,如果要限制栏目ID为1的文章自动审核,可以将SQL语句改为:UPDATE dede_arcrank SET adminrank=1 WHERE membername='开放浏览' AND typeid=1,这样就可以实现只有特定栏目的文章才会被自动审核。

序号 参数/步骤 说明
1 登录织梦CMS后台 使用管理员账号和密码登录到织梦CMS后台管理系统。
2 进入内容管理模块 点击左侧菜单栏的“内容管理”模块,进入内容管理页面。
3 选择文章发布选项 在内容管理页面,选择要发布的文章类型,文章列表”或“单篇文章”。
4 添加新文章 点击“添加新文章”按钮,进入文章编辑页面。
5 输入文章信息 在文章编辑页面,输入文章标题、作者、来源、关键词、简介等内容。
6 编辑文章内容 在文章编辑器中,编辑文章内容,包括文本、图片、视频等。
7 设置文章属性 在文章属性设置区域,选择文章所属分类、标签、状态(待审核、已发布等)。
8 设置自动审核规则 在文章属性设置区域,找到“自动审核规则”设置,根据需要设置规则,设置文章发布后自动审核,或设置文章达到一定阅读量后自动发布。
9 保存文章 点击“保存”按钮,将文章保存到织梦CMS数据库中。
10 观察文章状态 在文章列表中,观察文章状态,根据设置的自动审核规则,文章可能会自动通过审核并发布。
11 检查发布效果 在织梦CMS前台查看文章,确认文章已成功发布。
0