文章评论
评论区与评论数。站点关了评论、或拿不到内容 ID 时它们输出空串 —— 模板里不用写开关判断。
适用范围:详情页。
评论区 {naicha:comments}
<!-- [详情] 评论区(列表 + 表单)-->
<section class="comments">
<h2>评论 <span>{naicha:commentcount}</span></h2>
{naicha:comments}
</section>
<!-- [详情] 只要列表、不要表单(比如表单放在页面别处)-->
{naicha:comments num="20" form="0"}
num显示多少条form0 = 只列评论、不显示发表表单站点关了评论、或当前拿不到内容 ID 时,它输出空串(不报错、也不留一个空壳)。 所以模板里不用写「如果开了评论就…」。
评论数 {naicha:commentcount}
<!-- [详情] 标题旁边那一个数字 -->
<h1>{detail.title}</h1>
<div class="meta">浏览 {detail.hits} · 评论 {naicha:commentcount}</div>
属性和 comments 一样(num / form),但它只输出数字。
⚠️ 它算的是当前内容的评论数 —— 想在列表里显示每篇的评论数,得用 {naicha:list} 那一行自己的字段,
循环里用这个标签拿到的不是你要的数。
{naicha:commentlist} —— 自己想排评论
{naicha:comments} 是整块输出(列表 + 表单,版式固定);
要按自己的设计排,用 commentlist 拿行:
{naicha:commentlist num="10"}
<div class="cm">
<b>{comment.i}. {comment.author}</b>
<span>{comment.when}</span>
<p>{comment.content}</p>
{naicha:if var="comment.reply_count" gt="0"}
<div class="replies">
{naicha:loop from="comment.replies" as="r"}
<p><b>{r.author}</b>(管理员回复){r.content}</p>
{/naicha:loop}
</div>
{/naicha:if}
</div>
{/naicha:commentlist}
<!-- 分页与总数(和 list 一样是「最近一次」的语义)-->
{naicha:if var="commentPages" gt="1"}共 {commentTotal} 条 / 第 {commentPage} 页{/naicha:if}
行里能用的字段
{comment.id} {comment.pid} {comment.uid}编号 / 父评论 id(主评论为 0)/ 会员 id(游客为 0){comment.author} 昵称;没填是「访客」{comment.letter} 昵称首字母,做头像用{comment.content} 评论正文{comment.created_at} {comment.when}原始时间 / 人性化时间(刚刚、3 分钟前){comment.is_admin} {comment.reply_by}是不是管理员回复 / 回复人{comment.replies} {comment.reply_count}回复数组(配 {naicha:loop})/ 回复条数{comment.i} {comment.n} {comment.index}序号{comment.likes} {comment.oppose}这条评论被赞 / 被踩的次数{comment.likeslink} {comment.opposelink}赞 / 踩的地址,直接当 href(点一次算一票,重复点不叠加){comment.parent_author}回复里才有:被回复那一楼的作者名,用来写「回复 @某某」<!-- 给评论点赞:和内容的 likeslink 一样用法 -->
<a class="like" href="{comment.likeslink}">赞 {comment.likes}</a>
<a class="down" href="{comment.opposelink}">踩 {comment.oppose}</a>
<!-- 回复里标出「回复谁的」 -->
<p><b>{r.author}</b> 回复 <em>{r.parent_author}</em>:{r.content}</p>
⚠️ 邮箱和 IP 不往模板里给 —— 那是访客的隐私,页面上不该出现这个字段。
需要用它算头像的话,
站点关了评论、或拿不到内容 ID 时,它输出空串,和
{comment.letter} 已经算好了首字母。
站点关了评论、或拿不到内容 ID 时,它输出空串,和
{naicha:comments} 一致。
