如下图这样的筛选多条件搜索
一个字段可以使用多个条件选中查询,此查询需要以下字段支持:
联动菜单:Linkage 联动菜单多选:Linkages 复选框:Checkbox 单选按钮:Radio 下拉选择:Select
搜索条件写法:
<div class="form-group row"> <label class="col-md-2 control-label">单选字段-多条件</label> <div class="col-md-10"> <label><a class="label {if !$params.danxuananniu}label-success{else}label-default{/if}" href="{Router::search_url($params, 'danxuananniu', NULL)}">不限</a></label> <!--调用单选字段数据方法--> {php $field = dr_field_options($ci->module['field']['danxuananniu']['id']);} {loop $field $value $name} <label><a class="label {if dr_is_double_search($params.danxuananniu, $value)}label-success{else}label-default{/if}" href="{Router::search_url($params, 'danxuananniu', dr_get_double_search($params.danxuananniu, $value))}">{$name}</a></label> {/loop} </div> </div>
栏目模型字段写法
<a class="{if !$params.字段名}on{else}label-default{/if}" href="{Router::search_url($params, '字段名', NULL)}">不限</a> {php $field = dr_field_options($cat['field']['字段名']['id']);} {loop $field $value $name} <a class="{if dr_is_double_search($params.字段名, $value)}on{else}label-default{/if}" href="{Router::search_url($params, '字段名', dr_get_double_search($params.字段名, $value))}">{$name}</a> {/loop}
判断是否选择:
{if dr_is_double_search($params.字段名称, "当前值")} 选中了 {/if}
传入值写法:
{Router::search_url($params, '字段名称', dr_get_double_search($params.字段名称, "当前值"))}
搜索值写法原理:
关键字A|关键字B
多个条件已|符号分开
单独调用选中的字段值
复选框:
{if $params.字段名} 当前选中: {php $field = dr_field_options($ci->module['field']['字段名']['id']);echo $field[$params.字段名];} {/if}
复选框多选模式
{if $params.字段名} 当前选中: {php $arr=explode("|",$params.字段名);$field = dr_field_options($ci->module['field']['字段名']['id']);} {loop $field $value $name} {if in_array($value, $arr)} {$name} \ {/if} {/loop} {/if}
DiYunCMS自带的demo模块搜索中已经提供的示例