说明:用于获取产品常规列表、相关产品列表、产品分页列表

使用方法:{% productList 变量名称 with categoryId="1" order="id desc|views desc" type="page|list|related" q="搜索关键词" %} 如将变量定义为 products {% productList products with type="page" %}...{% endproductList %} productList 支持的参数有: categoryId,可以获取指定分类的产品列表如 categoryId="1" 获取产品分类ID为1的产品列表;order 可以指定产品显示的排序规则,支持依据 最新产品排序 order="id desc"、浏览量最多产品排序 order="views desc";显示数量 limit数量的列表,比如limit="10"则只会显示10条; 列表类型 type,支持按 page、list、related 方式列出。默认值为list,type="list" 时,只会显示 limit 指定的数量,如果type="page" 后续可用 分页标签 pagination 来组织分页显示 {% pagination pages with show="5" %};搜索关键词 q,如果需要搜索内容,可以通过参数q来展示指定包含关键词的标题搜索内容如 q="seo" 呈现结果将只显示标题包含seo关键词的列表。

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

  • 产品ID Id
  • 产品标题 Title
  • 产品链接 Link
  • 产品关键词 Keywords
  • 产品描述 Description
  • 产品内容 Content
  • 产品分类ID CategoryId
  • 产品价格 Price
  • 产品库存 Stock
  • 产品浏览量 Views
  • 产品封面图片 Images
  • 产品封面首图 Logo
  • 产品封面缩略图 Thumb
  • 产品分类 Category
  • 产品添加时间 CreatedTime 时间戳,需要使用格式化时间戳为日期格式 {{stampToDate(item.CreatedTime, "2006-01-02")}}
  • 产品更新时间 UpdatedTime 时间戳,需要使用格式化时间戳为日期格式 {{stampToDate(item.UpdatedTime, "2006-01-02")}}
{# list 列表展示 #}
<div>
{% productList products with type="list" categoryId="1" order="views desc" %}
    {% for item in products %}
    <li class="layui-col-xs6 layui-col-sm4 layui-col-md3">
        <a href="{{item.Link}}" class="item">
            <div class="thumb">
                <img alt="{{item.Title}}" src="{{item.Thumb}}"/>
                <div class="tips">查看详情div>
            div>
            <div class="layout">
                {% if item.Price or item.Stock %}
                <div class="meta">
                    <span class="price"><i>i>{{item.Price|floatformat:2}}span>
                    {% if item.Stock %}
                    <span class="stock">{{item.Stock}}span>
                    {% endif %}
                div>
                {% endif %}
                <h5 class="title">{{item.Title}}h5>
            div>
        a>
    li>
    {% empty %}
    <li class="item empty">
        该列表没有任何内容
    li>
    {% endfor %}
{% endproductList %}
div>

{# page 分页列表展示 #}
<div>
{% productList products with type="page" %}
    {% for item in products %}
    <li class="layui-col-xs6 layui-col-sm4 layui-col-md3">
        <a href="{{item.Link}}" class="item">
            <div class="thumb">
                <img alt="{{item.Title}}" src="{{item.Thumb}}"/>
                <div class="tips">查看详情div>
            div>
            <div class="layout">
                {% if item.Price or item.Stock %}
                <div class="meta">
                    <span class="price"><i>i>{{item.Price|floatformat:2}}span>
                    {% if item.Stock %}
                    <span class="stock">{{item.Stock}}span>
                    {% endif %}
                div>
                {% endif %}
                <h5 class="title">{{item.Title}}h5>
            div>
        a>
    li>
    {% empty %}
    <li class="item empty">
        该列表没有任何内容
    li>
    {% endfor %}
{% endproductList %}
div>

{# page 搜索指定关键词分页列表展示 #}
<div>
{% productList products with type="page" q="seo" %}
    {% for item in products %}
    <li class="layui-col-xs6 layui-col-sm4 layui-col-md3">
        <a href="{{item.Link}}" class="item">
            <div class="thumb">
                <img alt="{{item.Title}}" src="{{item.Thumb}}"/>
                <div class="tips">查看详情div>
            div>
            <div class="layout">
                {% if item.Price or item.Stock %}
                <div class="meta">
                    <span class="price"><i>i>{{item.Price|floatformat:2}}span>
                    {% if item.Stock %}
                    <span class="stock">{{item.Stock}}span>
                    {% endif %}
                div>
                {% endif %}
                <h5 class="title">{{item.Title}}h5>
            div>
        a>
    li>
    {% empty %}
    <li class="item empty">
        该列表没有任何内容
    li>
    {% endfor %}
{% endproductList %}
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>