用户评论是网站内容生态中不可或缺的一部分,它不仅能有效提升内容互动性,增强用户参与感,还能为网站带来更丰富的 UGC (用户生成内容),有助于 SEO 优化和社区氛围的营造。AnQiCMS 作为一款功能强大的内容管理系统,充分考虑了这一需求,为您提供了灵活且高效的方式,将用户评论列表集成到您的文章详情页中。

接下来,我们将一起探讨如何在 AnQiCMS 中,轻松地在文章详情页展示并管理用户评论列表。

第一步:确保评论功能已就绪并准备模板文件

在开始之前,我们需要确认 AnQiCMS 后台的评论功能已处于活动状态。虽然 AnQiCMS 默认支持评论功能,但为了**实践,您可以访问后台的“功能管理”菜单,找到“内容评论管理”选项。这里是您统一管理所有评论的中心。同时,如果您希望为评论表单添加验证码以防止垃圾评论,可以在“后台设置”下的“内容设置”中,开启“留言评论验证码”功能,这将为后续的表单集成提供支持。

文章详情页的模板文件通常位于您的主题目录中,路径类似于 template/{您的模板目录}/{模型table}/detail.html。例如,如果您的文章属于“文章模型”,那么该文件可能在 template/default/article/detail.html。打开这个文件,我们将在其中添加展示评论列表的代码。

第二步:在文章详情页集成评论列表

在您的文章详情页模板中,我们可以利用 AnQiCMS 提供的 commentList 标签来获取并展示评论数据。这个标签非常灵活,可以帮助我们拉取指定文章的评论,并支持常规列表展示或分页显示。

首先,您需要知道当前文章的唯一标识符(ID)。在文章详情页中,这个 ID 通常会通过 archiveDetail 标签自动提供,可以直接使用 archive.Id 来引用。

以下是使用 commentList 标签展示评论列表的基本结构:

”`twig {# 假设文章ID已通过 archive.Id 获取 #}

<h2>用户评论</h2>
{% commentList comments with archiveId=archive.Id type="list" limit="10" %}
    {% for item in comments %}
        <div class="comment-item">
            <div class="comment-header">
                <span class="user-name">
                    {% if item.Status != 1 %}
                        {# 评论状态为非1表示审核中,可以显示“审核中”或隐藏部分信息 #}
                        审核中:{{ item.UserName|truncatechars:6 }}
                    {% else %}
                        {{ item.UserName }}
                    {% endif %}
                </span>
                {% if item.Parent %}
                    {# 如果是回复评论,显示回复对象 #}
                    <span class="reply-to">回复 {{ item.Parent.UserName }}</span>
                {% endif %}
                <span class="comment-time">{{ stampToDate(item.CreatedTime, "2006-01-02 15:04") }}</span>
            </div>
            <div class="comment-content">
                {% if item.Parent %}
                    {# 如果是回复,可以引用上级评论内容 #}
                    <blockquote class="blockquote-parent">