定义
可以实现单选多选自定义字段的筛选功能
视频讲解
https://www.bilibili.com/video/av74627286/
简单示例
{screen molds="product" orderby="orders desc" as="s"}
自定义字段名字:{$s['fieldname']}
自定义字段选项输出:
默认全部/全选:
对应链接:{$s['url']}
判断选中:{if(!isset($filters[$s['field']]))}选中全部{/if}
对应值为:0
{foreach $s['list'] as $ss}
*每个选项链接:{$ss['url']}
每个选项字段:{$s['field']}
每个选项名称:{$ss['value']}
每个选项对应的值:{$ss['key']}
判断是否已选:
{if(isset($filters[$s['field']]) && strpos(','.$filters[$s['field']].',',','.$ss['key'].',')!==false)}
这里写选中时的标识
{/if}
{/foreach}
{/screen}注意事项
每个选项链接存在缺省值,如果本次点击的字段与上一次点击的字段不相同,那么默认记录上一次选择的选项,相当于二次筛选。如果清空上一次筛选,则需要点击栏目链接,进行全部筛选条件清空。
任何页面输出筛选
<!--添加代码内容-->
<!--需要制定栏目ID,如下假设栏目id=1有筛选,则写$classtypedata[1],以此类推-->
{if(!isset($type))}
{php $type = $classtypedata[1];$filters = [];/}
{/if}
{screen molds="product" orderby="orders desc" as="s"}
自定义字段名字:{$s["fieldname"]}
自定义字段选项输出:
默认全部/全选:
对应链接:{$s["url"]}
判断选中:{if(!isset($filters[$s["field"]]))}选中全部{/if}
对应值为:0
{foreach $s["list"] as $ss}
*每个选项链接:{$ss["url"]}
每个选项字段:{$s["field"]}
每个选项名称:{$ss["value"]}
每个选项对应的值:{$ss["key"]}
判断是否已选:
{if(isset($filters[$s["field"]]) && strpos(",".$filters[$s["field"]].",",",".$ss["key"].",")!==false)}
这里写选中时的标识
{/if}
{/foreach}
{/screen}