Hkcms 筛选功能

filter 筛选标签

获取后台模型设定的筛选字段。常用于列表筛选

参数

参数名称可选值默认值是否必填说明
id-$item-指定循环里的变量名,例如id='obj',模板调用如:{$item.title} 变成 {$obj.title}
currentstyle-active-指定选中的class样式
multiple1/00-是否允许多选,1-开启多选,0-关闭
field开启筛选的字段--限制显示筛选字段
alltxt-全部-第一个选项显示的文字,例如:alltxt="不限",等于off则不显示

使用注意

要使用筛选标签,请先在后台指定筛选的字段

如果你的字段类型非下拉列表、单选、复选,你需要指定选项类别。如下图

效果图:

参数说明

id参数,用于指定循环的变量名,默认是$item,设置值id="obj",变量名即为$obj。

{hkcms:filter id="obj"}
    选项名字:{$obj.title}: 
  
     // 选项列表,使用volist循环标签循环输出。
    {hkcms:volist name="obj.option" id="vo"}
       <a href="{$vo.url}" class="{$vo.currentstyle}">{$vo.title}</a>
    {/hkcms:volist}{/hkcms:filter}

currentstyle 指定选择项的class,默认class名称为active

{hkcms:filter id="obj" currentstyle="newclass"}
    选项名字:{$obj.title} 
    {hkcms:volist name="obj.option" id="vo"}
    // currentstyle="newclass", 当该选项选中时,$vo.currentstyle的值为newclass,没选择的为空。
    <a href="{$vo.url}" class="{$vo.currentstyle}">{$vo.title}</a>
    {/hkcms:volist}{/hkcms:filter}

multiple参数开启多选,1=开启,0=关闭

{hkcms:filter multiple="1" }<div class="pt-2 pb-2 d-flex mb-1 mt-1">
    <div class="">{$item.title}: </div>
    <div class="filter">
        <ul class="clearfix mb-0">
            {hkcms:volist name="item.option" id="vo"}
            <li><a href="{$vo.url}" class="{$vo.currentstyle}">{$vo.title}</a></li>
            {/hkcms:volist}
        </ul>
    </div></div>{/hkcms:filter}

field 限定字段,当有时候不想显示所有筛选字段,在这里可以指定筛选的字段。多个字段使用英文逗号分隔。如下:

// 只显示option和option2的字段{hkcms:filter field="option,option2" }<div class="pt-2 pb-2 d-flex mb-1 mt-1">
    <div class="">{$item.title}: </div>
    <div class="filter">
        <ul class="clearfix mb-0">
            {hkcms:volist name="item.option" id="vo"}
            <li><a href="{$vo.url}" class="{$vo.currentstyle}">{$vo.title}</a></li>
            {/hkcms:volist}
        </ul>
    </div></div>{/hkcms:filter}

alltxt指定第一个重置选项的名称,例如通常有:全部、不限等,默认显示全部,如果不想显示等于off即可关闭

{hkcms:filter alltxt="不限" }<div class="pt-2 pb-2 d-flex mb-1 mt-1">
    <div class="">{$item.title}: </div>
    <div class="filter">
        <ul class="clearfix mb-0">
            {hkcms:volist name="item.option" id="vo"}
            <li><a href="{$vo.url}" class="{$vo.currentstyle}">{$vo.title}</a></li>
            {/hkcms:volist}
        </ul>
    </div></div>{/hkcms:filter}

效果

筛选文字多语言化,注意前提写好多语言。多语言配置可前往多语言章节了解。

{hkcms:filter alltxt="lang('All')" }<div class="pt-2 pb-2 d-flex mb-1 mt-1">
    // 多语言标题,格式为:{:__(这里写变量)}
    <div class="">{:__($item.title)}: </div>
    <div class="filter">
        <ul class="clearfix mb-0">
            {hkcms:volist name="item.option" id="vo"}
            <li><a href="{$vo.url}" class="{$vo.currentstyle}">{:__($vo.title)}</a></li>
            {/hkcms:volist}
        </ul>
    </div></div>{/hkcms:filter}

关闭第一的重置选项

{hkcms:filter alltxt="off" }<div class="pt-2 pb-2 d-flex mb-1 mt-1">
    <div class="">{$item.title}: </div>
    <div class="filter">
        <ul class="clearfix mb-0">
            {hkcms:volist name="item.option" id="vo"}
            <li><a href="{$vo.url}" class="{$vo.currentstyle}">{$vo.title}</a></li>
            {/hkcms:volist}
        </ul>
    </div></div>{/hkcms:filter}

效果

字段调用

更多字段可在模型管理》字段管理里面找到字段的名字,以下仅包含主要的字段

注意:其中$item变量根据filter标签的id参数影响,默认是:$item。

字段名说明调用方式
title字段标题{$item.title}
name字段名{$item.name}
option数组,里面是筛选的选项,使用volist循环标签{hkcms:volist name="item.option" id="vo"} {/hkcms:volist}

option 内容,id="vo"

字段名说明调用方式
title标题{$vo.title}
name选项值{$vo.name}
url链接地址{$vo.url}
currentstyle高亮,选中的选项有class,用于css定义颜色高亮{$vo.currentstyle}



本文关键词:

联系我们

在线咨询:点击这里给我发消息

邮件:w420220301@qq.com