说明:用于获取文章、产品的评论列表、评论分页列表

使用方法:{% commentList 变量名称 with itemType="article|product" itemId="1" type="page|list" %} 如将变量定义为 comments {% commentList comments with itemType="article" itemId="1" type="page" %}...{% endcommentList %} commentList 支持的参数有: 评论类型 itemType,支持的值有:article、product,分别表示文章评论、产品评论;评论内容ID itemId,itemId 为指定的文章、产品ID;order 可以指定产品显示的排序规则,支持依据 id正序排序 order="id desc"、按id倒叙排序 order="id desc";显示数量 limit数量的列表,比如limit="10"则只会显示10条;列表类型 type,支持按 page、list 方式列出。默认值为list,如果type="page" 后续可用 分页标签 pagination 来组织分页显示 {% pagination pages with show="5" %}

item 为 for循环体内的变量,可用的字段有:

  • 评论ID Id
  • 评论类型 ItemType 可能的值有:article、product
  • 类型内容ID ItemId
  • 用户名 UserName
  • 用户ID UserId
  • 用户IP Ip
  • 点赞数量 VoteCount
  • 评论内容 Content
  • 上级评论ID ParentId
  • 审核状态 Status Status = 1 表示审核通过, status = 0 时审核中,不要显示出来
  • 上级评论的对象数据 Parent Parent 包含上级评论的完整 item,字段和评论item相同
  • 添加时间 CreatedTime 时间戳,需要使用格式化时间戳为日期格式 {{stampToDate(item.CreatedTime, "2006-01-02")}}
{# list 列表展示 #}
<div>
{% commentList comments with itemType="article" itemId=article.Id type="list" limit="6" %}
    {% for item in comments %}
    <div class="comment-item">
      <div class="item-user">
        <span class="user-name">
          {% if item.Status != 1 %}
          审核中:{{item.UserName|truncatechars:6}}
          {% else %}
          {{item.UserName}}
          {% endif %}
        </span>
        {% if item.Parent %}
        <span class="text">回复</span>
        <span class="user-name">
          {% if item.Status != 1 %}
          审核中:{{item.Parent.UserName|truncatechars:6}}
          {% else %}
          {{item.Parent.UserName}}
          {% endif %}
        </span>
        {% endif %}
        <span class="publish-time">{{stampToDate(item.CreatedTime, "2006-01-02")}}</span>
      </div>
      <div class="comment-content">
        {% if item.Parent %}
        <blockquote class="layui-elem-quote layui-quote-nm">
          {% if item.Parent.Status != 1 %}
          该内容正在审核中:{{item.Parent.Content|truncatechars:9}}
          {% else %}
          {{item.Parent.Content|truncatechars:100}}
          {% endif %}
        </blockquote>
        {% endif %}
        {% if item.Status != 1 %}
          该内容正在审核中:{{item.Content|truncatechars:9}}
        {% else %}
        {{item.Content}}
        {% endif %}
      </div>
      <div class="comment-control" data-id="{{item.Id}}" data-user="{{item.UserName}}">
        <a class="item" data-id="praise"><i class="layui-icon layui-icon-praise"></i>赞(<span class="vote-count">{{item.VoteCount}}</span>)</a>
        <a class="item" data-id=reply><i class="layui-icon layui-icon-release"></i>回复</a>
      </div>
    </div>
    {% endfor %}
{% endcommentList %}
</div>

{# page 分页列表展示 #}
<div>
{% commentList comments with itemType="article" itemId=article.Id type="page" limit="10" %}
    {% for item in comments %}
    <div class="comment-item">
      <div class="item-user">
        <span class="user-name">
          {% if item.Status != 1 %}
          审核中:{{item.UserName|truncatechars:6}}
          {% else %}
          {{item.UserName}}
          {% endif %}
        </span>
        {% if item.Parent %}
        <span class="text">回复</span>
        <span class="user-name">
          {% if item.Status != 1 %}
          审核中:{{item.Parent.UserName|truncatechars:6}}
          {% else %}
          {{item.Parent.UserName}}
          {% endif %}
        </span>
        {% endif %}
        <span class="publish-time">{{stampToDate(item.CreatedTime, "2006-01-02")}}</span>
      </div>
      <div class="comment-content">
        {% if item.Parent %}
        <blockquote class="layui-elem-quote layui-quote-nm">
          {% if item.Parent.Status != 1 %}
          该内容正在审核中:{{item.Parent.Content|truncatechars:9}}
          {% else %}
          {{item.Parent.Content|truncatechars:100}}
          {% endif %}
        </blockquote>
        {% endif %}
        {% if item.Status != 1 %}
          该内容正在审核中:{{item.Content|truncatechars:9}}
        {% else %}
        {{item.Content}}
        {% endif %}
      </div>
      <div class="comment-control" data-id="{{item.Id}}" data-user="{{item.UserName}}">
        <a class="item" data-id="praise"><i class="layui-icon layui-icon-praise"></i>赞(<span class="vote-count">{{item.VoteCount}}</span>)</a>
        <a class="item" data-id=reply><i class="layui-icon layui-icon-release"></i>回复</a>
      </div>
    </div>
    {% endfor %}
{% endcommentList %}
</div>

<div class="pagination">
    {% pagination pages with show="5" %}
    <ul>
        <li>总数:{{pages.TotalItems}}条,总共:{{pages.TotalPages}}页,当前第{{pages.CurrentPage}}</li>
        <li class="page-item {% if pages.FirstPage.IsCurrent %}active{% endif %}"><a href="{{pages.FirstPage.Link}}">{{pages.FirstPage.Name}}</a></li>
        {% if pages.PrevPage %}
            <li class="page-item"><a href="{{pages.PrevPage.Link}}">{{pages.PrevPage.Name}}</a></li>
        {% endif %}
        {% for item in pages.Pages %}
            <li class="page-item {% if item.IsCurrent %}active{% endif %}"><a href="{{item.Link}}">{{item.Name}}</a></li>
        {% endfor %}
        {% if pages.NextPage %}
            <li class="page-item"><a href="{{pages.NextPage.Link}}">{{pages.NextPage.Name}}</a></li>
        {% endif %}
        <li class="page-item {% if pages.LastPage.IsCurrent %}active{% endif %}"><a href="{{pages.LastPage.Link}}">{{pages.LastPage.Name}}</a></li>
    </ul>
    {% endpagination %}
</div>