菜鸟科技网

dedecms 审核时如何退回

在后台直接驳回(最常用)

这是最直接、最简单的方法,适用于不需要详细退回理由的场景。

dedecms 审核时如何退回-图1
(图片来源网络,侵删)

操作步骤:

  1. 登录 DedeCMS 后台: 使用你的管理员账号登录到 DedeCMS 的后台管理系统。

  2. 管理: 在左侧的菜单栏中,找到 “核心” -> 发布”,然后点击 “所有文档”

    (这是一个示例截图,实际界面可能因版本略有不同)

    dedecms 审核时如何退回-图2
    (图片来源网络,侵删)
  3. 找到需要退回的文章: 在文章列表中,你可以通过文章标题、作者等信息找到你想要退回的那篇内容。非常重要的一步:请确保这篇内容的 审核状态 是 “待审核” (通常显示为“-1”或者“待审核”文字),只有待审核的内容才能被驳回。

  4. 执行驳回操作

    • 方法 A(推荐): 在该文章所在行的 “审核” 列下,点击 “驳回”“不予通过” 的链接。
    • 方法 B: 勾选文章前面的复选框,然后点击列表上方的 “批量审核” 按钮,在弹出的下拉菜单中,选择 “驳回”“不予通过”
  5. 确认操作: 系统会弹出一个确认窗口,询问你确定要驳回该内容吗,点击 “确定”

操作结果:

dedecms 审核时如何退回-图3
(图片来源网络,侵删)

完成以上步骤后,这篇文章的状态就会从 “待审核” 变为 “已驳回”(或类似状态,如“-2”),文章的发布者(作者)在登录他们的会员中心时,就能看到这篇文章被驳回了,并且状态不再是待审核。


添加退回理由(更友好、更规范)

直接驳回,作者可能不知道为什么被驳回,导致重复提交,通过添加退回理由,可以清晰地告知作者问题所在,提高沟通效率。

这个功能需要你手动在数据库中进行修改,或者使用一些现成的插件,这里我为你介绍最常用且安全的手动修改方法。

前提: 你的 DedeCMS 数据表中需要有存储退回理由的字段,默认情况下,dede_archives 表(文章主表)里没有,所以我们需要添加一个。

步骤 1:添加数据库字段

  1. 登录数据库管理工具: 使用 phpMyAdmin 或其他工具登录到你的网站数据库。

  2. 找到数据表: 在数据库列表中,找到你的 DedeCMS 数据库,然后找到名为 dede_archives 的表(如果你的表前缀不是 dede_,请使用你自己的前缀)。

  3. 添加新字段: 在 dede_archives 表中,执行以下 SQL 语句来添加一个名为 rejectreason 的字段,用于存储退回理由:

    ALTER TABLE `dede_archives` ADD `rejectreason` VARCHAR(255) NOT NULL DEFAULT '';

    这条语句会添加一个最大长度为 255 个字符的文本字段,并且默认值为空。

步骤 2:修改后台模板文件

  1. 找到审核页面模板: 在你的 DedeCMS 根目录下,找到 templets 文件夹,然后进入 catalog 文件夹,找到 _list.htm 文件,这个文件是“所有文档”列表页面的模板。

  2. 修改“驳回”链接: 打开 catalog_list.htm 文件,找到处理“驳回”操作的链接,它通常看起来像这样:

    <a href="catalog_do.php?dopost=reject&aid={$fields.id}" onclick="return ConfirmDel('确实要驳回此文档吗?');">驳回</a>

    我们需要修改它,使其在点击后弹出一个输入框,让管理员输入理由,修改为:

    <a href="javascript:;" onclick="RejectArticle({$fields.id});">驳回</a>

    在页面的 <script> 标签内(如果没有就在 </head> 标签前),添加以下 JavaScript 函数:

    function RejectArticle(aid) {
        var reason = prompt("请输入驳回理由:", "");
        if (reason == null || reason == "") {
            // 如果用户点击了取消或输入为空,则不执行任何操作
            return;
        }
        // 将理由和文章ID提交到处理页面
        window.location.href = "catalog_do.php?dopost=reject&aid=" + aid + "&reason=" + encodeURIComponent(reason);
    }

步骤 3:修改处理程序文件

  1. 找到处理程序: 在 DedeCMS 根目录下,找到 catalog_do.php 文件。

  2. 找到驳回代码段: 在 catalog_do.php 文件中,找到处理 dopost=rejectif 语句块,它大概长这样:

    else if($dopost=='reject')
    {
        $arc = new Archives($aid);
        $arc->Close();
        ShowMsg("文档已驳回!", $ENV_GOBACK_URL);
        exit();
    }

    我们需要修改它,使其在驳回时更新数据库中的 rejectreason 字段,修改为:

    else if($dopost=='reject')
    {
        // 获取从 URL 传递过来的 reason 参数
        $rejectreason = isset($reason) ? $reason : '';
        // 更新数据库,将驳回理由写入
        $dsql->ExecuteNoneQuery("UPDATE `dede_archives` SET `arcrank`='-2', `rejectreason`='$rejectreason' WHERE `id`='$aid'");
        // 同时更新附加表(如果需要)
        $dsql->ExecuteNoneQuery("UPDATE `dede_addonarticle` SET `arcrank`='-2' WHERE `aid`='$aid'");
        ShowMsg("文档已驳回,并已记录理由!", $ENV_GOBACK_URL);
        exit();
    }

    注意arcrank = -2 是 DedeCMS 中“已驳回”状态的默认值。arcrank = -1 是“待审核”,arcrank = 0 是“已审核通过”。

完成以上三步后,当你在后台点击“驳回”链接时,就会弹出一个输入框,你输入理由并确定后,文章就会被驳回,并且退回理由会保存在数据库中。


如何让作者看到退回理由?

作者可以在他们的 会员中心 查看自己被驳回的文章。

  1. 作者登录会员中心
  2. 进入 或类似的栏目。
  3. 找到状态为 “已驳回” 的文章。
  4. 在文章列表或文章详情页,你应该能看到一个 “退回理由”“驳回原因” 的字段,里面就填写了你刚才输入的内容。
方法 优点 缺点 适用场景
直接驳回 操作极其简单,无需修改任何文件。 无法告知作者退回原因,沟通成本高。 快速处理明显不合格的内容,或内部流程不要求详细理由时。
添加理由 沟通清晰,规范流程,作者能明确知道问题所在。 需要修改数据库和模板文件,对新手有一定难度。 发布流程,需要高质量和良好沟通的网站。

对于大多数网站,特别是多人协作的网站,强烈推荐使用方法二,它能极大地提升内容管理的效率和用户体验。

分享:
扫描分享到社交APP
上一篇
下一篇