在网站运营中,用户评论是构建社区、获取反馈和提升内容互动性的重要元素。对于使用安企CMS(AnQiCMS)来搭建和管理网站的朋友们来说,高效地展示用户评论并管理其审核状态,是确保网站内容质量和用户体验的关键一环。好在AnQiCMS为此提供了非常灵活和实用的功能。
如何在页面上显示用户评论列表
要在您的网站上展示用户提交的评论,您会用到AnQiCMS强大的模板标签系统,特别是commentList标签。这个标签能够帮助我们轻松地从数据库中检索评论数据,并按照我们希望的方式在前端页面上呈现出来。
通常,评论是与特定的文章或产品等内容关联的。因此,在使用commentList标签时,我们需要指定评论所属的内容ID。例如,如果您想在一篇文章的详情页下方显示评论,可以使用archiveId参数来传递当前文章的ID。这个文章ID可以通过archiveDetail标签轻松获取到,比如archive.Id。
您还可以通过type参数来控制评论列表的显示方式。当您只需要获取一定数量的最新评论(比如侧边栏展示),可以将type设置为"list",并通过limit参数限制显示数量。如果是在评论区域需要完整的评论列表和分页功能,则将type设置为"page"。
下面是一个基本的评论列表代码示例,它会获取当前文章的最新5条评论:
{# 假设我们正在一个文章详情页,archive.Id代表当前文章的ID #}
{% commentList comments with archiveId=archive.Id type="list" limit="5" %}
{% for item in comments %}
<div>
<strong>{{ item.UserName }}</strong> 发表于 {{ stampToDate(item.CreatedTime, "2006-01-02 15:04") }}
<p>{{ item.Content }}</p>
</div>
{% empty %}
<p>目前还没有评论。</p>
{% endfor %}
{% endcommentList %}
在这段代码中,item.UserName显示评论者的昵称,item.Content是评论的具体内容,而item.CreatedTime则是评论提交的时间戳。为了让时间显示得更友好,我们使用了stampToDate过滤器,将其格式化为常见的日期时间格式。{% empty %}标签则是在没有评论时显示一段提示信息。
处理评论的审核状态
用户提交评论后,通常会有一个审核流程。AnQiCMS内置了评论审核机制,每条评论都有一个Status字段来表示其审核状态。通常,Status = 1表示评论已通过审核并可以公开显示,而Status = 0则表示评论正在审核中或未通过审核。
在前端显示评论列表时,我们应该根据Status字段来决定如何呈现。对于处于审核中的评论,我们可以选择不显示其完整内容,或者显示一个“审核中”的提示,以确保网站内容的合规性。
将审核状态逻辑整合到评论列表中,示例如下:
”`twig {% commentList comments with archiveId=archive.Id type=“list” limit=“5” %}
{% for item in comments %}
<div class="comment-item">
<div class="comment-meta">
<strong>
{% if item.Status == 1 %}
{{ item.UserName }}
{% else %}
{# 评论审核中,只显示部分用户名或匿名处理 #}
审核中:{{ item.UserName|truncatechars:6 }}
{% endif %}
</strong> 发表于 {{ stampToDate(item.CreatedTime, "2006-01-02 15:04") }}
</div>
{# 处理回复评论的显示 #}
{% if item.Parent %}
<blockquote class="reply-blockquote">
{% if item.Parent.Status == 1 %}
回复 <strong>{{ item.Parent.UserName }}</strong>: {{ item.Parent.Content|truncatechars:100 }}
{% else %}
回复 <strong>审核中用户</strong>: <i>该回复正在审核中。</i>
{% endif %}