定义
可以实现单选多选自定义字段的筛选功能
视频讲解
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}