首页 安企CMS模板标签手册 文档标签

文档参数筛选标签

文档参数筛选仅可用着文档首页或文档分类的模板上,结合文档分页列表使用。

说明:用于做根据文档各项参数进行列表组合筛选的筛选条件,如做房产网站的时候,可以根据房屋类型为住宅、商铺、商住两用 筛选,同时可以附加根据房屋大小为单间、一室一厅、两室两厅、三室两厅等筛选,这种情况下就可以用到文档参数筛选功能。

使用方法:{% archiveFilters 变量名 with allText="全部" %} 如将变量定义为 filters {% archiveFilters filters with allText="全部" %}...{% endarchiveFilters %}


archiveFilters 支持的参数有:

  • 模型ID moduleId
    moduleId 可以获取指定模型的参数筛选,如 moduleId="1" 获取文章模型的参数筛选。
  • 全部关键词 allText
    id 参数根据文档id获取指定的文档参数,默认获取当前文档页面的文档id。

filters 变量为一个数组对象,需要通过 for 循环来输出。for item 的对象结构是:

  • 参数名称 Name
  • 参数字段名 FieldName
  • 该参数的可选值 Items
    Items 是一个数组对象,需要通过 for 循环来输出。 for val 的对象结构是:


代码示例


{# 参数筛选代码 #}
<div>
    <div>参数筛选:</div>
    {% archiveFilters filters with moduleId="1" allText="默认" %}
        {% for item in filters %}
        <ul>
            <li style="display: inline-block">{{item.Name}}: </li>
            {% for val in item.Items %}
            <li style="display: inline-block" class="{% if val.IsCurrent %}active{% endif %}"><a href="{{val.Link}}">{{val.Label}}</a></li>
            {% endfor %}
        </ul>
    {% endfor %}
    {% endarchiveFilters %}
</div>

{# 文档列表代码 #}
<div>
{% archiveList archives with moduleId="1" type="page" limit="10" %}
    {% for item in archives %}
    <li class="item layui-flex">
        <a href="{{item.Link}}" class="link flex-item">
            <h5 class="title">{{item.Title}}</h5>
            <div class="description">{{item.Description}}</div>
            <div class="meta">
                <span>{% categoryDetail with name="Title" id=item.CategoryId %}</span>
                <span>{{stampToDate(item.CreatedTime, "2006-01-02")}}</span>
                <span>{{item.Views}} 阅读</span>
            </div>
        </a>
        {% if item.Thumb %}
        <a href="{{item.Link}}" class="thumb">
            <img class="thumb-image" alt="{{item.Title}}" src="{{item.Thumb}}">
        </a>
        {% endif %}
    </li>
    {% empty %}
    <li class="item empty">
        该列表没有任何内容
    </li>
    {% endfor %}
{% endarchiveList %}

    {# 分页代码 #}
    <div class="layui-box layui-laypage layui-laypage-default">
        {% pagination pages with show="5" %}
            {# 首页 #}
            <a class="layui-laypage-first {% if pages.FirstPage.IsCurrent %}layui-laypage-curr{% endif %}" href="{{pages.FirstPage.Link}}">{{pages.FirstPage.Name}}</a>
            {# 上一页 #}
            {% if pages.PrevPage %}
            <a class="layui-laypage-prev" href="{{pages.PrevPage.Link}}">{{pages.PrevPage.Name}}</a>
            {% endif %}
            {# 中间多页 #}
            {% for item in pages.Pages %}
            <a class="{% if item.IsCurrent %}layui-laypage-curr{% endif %}" href="{{item.Link}}">{{item.Name}}</a>
            {% endfor %}
            {# 下一页 #}
            {% if pages.NextPage %}
            <a class="layui-laypage-next" href="{{pages.NextPage.Link}}">{{pages.NextPage.Name}}</a>
            {% endif %}
            {# 尾页 #}
            <a class="layui-laypage-last {% if pages.LastPage.IsCurrent %}layui-laypage-curr{% endif %}" href="{{pages.LastPage.Link}}">{{pages.LastPage.Name}}</a>
        {% endpagination %}
    </div>
</div>