在AnQiCMS中管理和展示用户评论,特别是它们的审核状态,是内容运营中一个非常实用的功能。它不仅能帮助我们维护社区秩序,还能灵活控制网站内容的呈现,确保发布内容的质量和合规性。接下来,我们就来详细了解如何在您的网站评论列表中正确显示用户评论及其审核状态。
核心功能:评论列表的调用
要在网站页面上显示用户评论,我们需要借助AnQiCMS强大的模板标签系统。其中,commentList标签就是专门为此设计的。通常,我们会在文档详情页(例如文章、产品页面)下方添加评论区域。
使用commentList标签时,首先需要指定评论所关联的文档ID。这个ID通常通过页面的当前文档信息(比如在文章详情页,我们可以通过archive.Id获取)来传递。同时,您可以选择评论列表的展示类型,例如type="list"用于一次性显示固定数量的评论,或者type="page"用于分页显示,这在评论数量较多时能有效提升页面加载速度和用户体验。limit参数则允许您控制每页或每次加载的评论数量。
这里有一个基础的commentList标签使用示例,它将获取当前文档的评论列表:
{% commentList comments with archiveId=archive.Id type="list" limit="6" %}
{% for item in comments %}
<div class="comment-item">
<span class="comment-user">{{item.UserName}}</span>
<span class="comment-time">{{stampToDate(item.CreatedTime, "2006-01-02 15:04")}}</span>
<p class="comment-content">{{item.Content}}</p>
</div>
{% endfor %}
{% else %}
<p>暂无评论,快来发表你的看法吧!</p>
{% endcommentList %}
在这个例子中,archive.Id代表当前页面的文档ID。comments是我们为评论列表数据定义的变量名,您可以在后续的for循环中通过item来访问每一条评论的具体信息。stampToDate标签则能帮助我们将时间戳格式化为易读的日期和时间。
掌控评论状态:正确显示审核信息
评论的审核状态是内容管理的关键一环。AnQiCMS为每条评论提供了Status字段,它的值为1表示评论已审核通过并可以正常显示,而0则表示评论正在审核中。通过这个字段,我们可以在前端页面上灵活地处理待审核评论的显示方式。
通常来说,我们不会直接显示待审核评论的完整内容,而是给出一个提示信息,例如“该内容正在审核中”。对于回复类型的评论,我们还需要考虑父级评论的审核状态。
下面是对前面示例代码的改进,加入了对评论审核状态和回复评论的处理:
”`twig {% commentList comments with archiveId=archive.Id type=“list” limit=“6” %}
{% for item in comments %}
<div class="comment-item">
<div class="comment-meta">
<span class="comment-user">
{% if item.Status != 1 %}
<!-- 评论待审核时,用户名可截断或显示为匿名 -->
审核中:{{item.UserName|truncatechars:6}}
{% else %}
{{item.UserName}}
{% endif %}
</span>
{% if item.Parent %}
<span class="reply-indicator">回复</span>
<span class="comment-parent-user">
{% if item.Parent.Status != 1 %}
<!-- 父级评论待审核时,同样给出提示 -->
审核中:{{item.Parent.UserName|truncatechars:6}}
{% else %}
{{item.Parent.UserName}}
{% endif %}
</span>
{% endif %}
<span class="comment-time">{{stampToDate(item.CreatedTime, "2006-01-02 15:04")}}</span>
</div>
<div class="comment-body">
{% if item.Parent %}
<blockquote class="reply-quote">
{% if item.Parent.Status != 1 %}
<p class="pending-quote-message">该内容正在审核中:{{item.Parent.Content|truncatechars:15}}</p>
{% else %}
<p>{{item.Parent.Content|truncatechars:100}}</p>
{% endif %}
</blockquote>
{% endif %}
{% if item.Status != 1 %}
<p class="pending-message">该内容正在审核中:{{item.Content|truncatechars:15}}</p>
{% else %}
<p>{{item.Content}}</p>
{% endif %}
</div>
<div class="comment-actions" data-id="{{item.Id}}" data-user="{{item.UserName}}">
<a class="action-item vote-comment">赞