模板设计
关注DiYunCMS公众号
公众号二维码

筛选搜索函数写法

更新时间:2021-09-20 加入收藏

单选条件:

<!--按联动菜单搜索-->
<div class="form-group row">
    <label class="col-md-2 control-label">联动菜单</label>
    <div class="col-md-9">
        <label><a class="label {if !$params.csxz || dr_linkage('address', $params.csxz, 0, 'child')}label-success{else}label-default{/if}" href="{Router::search_url($params, 'csxz', NULL)}">不限</a></label>
        <!--调用联动菜单address,pid为动态获取的地区id-->
        {list action=linkage code=address pid=$params.csxz}
        <label><a class="label {if $t.id==$params.csxz}label-success{else}label-default{/if}" href="{Router::search_url($params, 'csxz', $t.id)}">{$t.name}</a></label>
        {/list}
    </div>
</div>

<!--单选按钮字段搜索-->
<div class="form-group row">
    <label class="col-md-2 control-label">单选字段</label>
    <div class="col-md-9">
        <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 $value==$params.danxuananniu}label-success{else}label-default{/if}" href="{Router::search_url($params, 'danxuananniu', $value)}">{$name}</a></label>
        {/loop}
    </div>
</div>

<!--复选字段搜索-->
<div class="form-group row">
    <label class="col-md-2 control-label">复选字段</label>
    <div class="col-md-9">
        <label><a class="label {if !$params.fuxuankuang}label-success{else}label-default{/if}" href="{Router::search_url($params, 'fuxuankuang', NULL)}">不限</a></label>
        <!--调用字段数据方法-->
        {php $field = dr_field_options($ci->module['field']['fuxuankuang']['id']);}
        {loop $field $value $name}
        <label><a class="label {if $value==$params.fuxuankuang}label-success{else}label-default{/if}" href="{Router::search_url($params, 'fuxuankuang', $value)}">{$name}</a></label>
        {/loop}
    </div>
</div>
<!--下拉框字段搜索-->
<div class="form-group row">
    <label class="col-md-2 control-label">下拉选择字段</label>
    <div class="col-md-9">
        <label><a class="label {if !$params.xialaxuanze}label-success{else}label-default{/if}" href="{Router::search_url($params, 'xialaxuanze', NULL)}">不限</a></label>
        <!--调用单选字段数据方法-->
        {php $field = dr_field_options($ci->module['field']['xialaxuanze']['id']);}
        {loop $field $value $name}
        <label><a class="label {if $value==$params.xialaxuanze}label-success{else}label-default{/if}" href="{Router::search_url($params, 'xialaxuanze', $value)}">{$name}</a></label>
        {/loop}
    </div>
</div>

<div class="form-group row">
    <label class="col-md-2 control-label">单一购买价格</label>
    <div class="col-md-9">
        <!--自定义一个价格返回数组,这个都懂得,php最基础的数组用法-->
        {php $price=array('0,500'=>'500以内','500,1000'=>'500到1000','1000,2000'=>'1000到2000','2000,3000'=>'2000到3000','3000,0'=>'3000以上');}
        <label><a class="label {if !$params.dydgm}label-success{else}label-default{/if}" href="{Router::search_url($params, 'dydgm', NULL)}">不限</a></label>
        {loop $price $i $t}
        <label><a class="label {if $i==$params.dydgm}label-success{else}label-default{/if}" href="{Router::search_url($params, 'dydgm', $i)}">{$t}</a></label>
        {/loop}
    </div>
</div>

<div class="form-group row">
    <label class="col-md-2 control-label">组合购买价格自定义</label>
    <div class="col-md-9">
        {php $zhxgm = explode(',', $params.zhxgm);}
       <label><input type="text" class="form-control" value="{$zhxgm[0]}" id="zhxgm_min"></label>
       <label>到</label>
       <label><input type="text" class="form-control" value="{$zhxgm[1]}" id="zhxgm_max"></label>
       <label>这是自定义价格范围搜索的写法</label>
    </div>
</div>

<!--按关键字搜索-->
<div class="form-group row">
    <label class="col-md-2 control-label" style="padding-top:5px">内容搜索</label>
    <div class="col-md-6">
        <div class="input-group">
            <input type="text" class="form-control" onkeypress="if(event.keyCode==13) {dr_module_search();return false;}" name='keyword' value='{$keyword}' id='search_keyword'>
            <span class="input-group-btn">
                <button class="btn blue" onclick="dr_module_search()" type="button"> <i class="fa fa-search"></i> 搜索</button>
            </span>
        </div>
    </div>
</div>
<script>
    // 这段js是用来执行搜索的
    function dr_module_search(name) {
        var url="{Router::search_url($params, ['keyword', 'zhxgm'], ['mykeyword', 'myzhxgm'])}";
        var keyword = $("#search_keyword").val();
        var zhxgm_min = $("#zhxgm_min").val();
        var zhxgm_max = $("#zhxgm_max").val();
        zhxgm_max = zhxgm_max ? zhxgm_max : 0;
        zhxgm_min = zhxgm_min ? zhxgm_min : 0;
        if (zhxgm_max || zhxgm_min) {
            url = url.replace('myzhxgm', zhxgm_min+','+zhxgm_max);
        } else {
            url = url.replace('myzhxgm', '');
        }
        if (keyword) {
            url = url.replace('mykeyword', keyword);
        } else {
            url = url.replace('mykeyword', '');
        }
        location.href=url;
        return false;
    }
</script>


多选条件:

https://www.diyuncms.com/help/show/44.html


$params是搜索参数数组,只能在搜索页面使用


搜索函数:

{Router::search_url($params, '字段名', '字段值', '模块目录(search页面可以省略)')}


如果在首页或者非search页面使用这个函数必须加上第四个参数:模块目录

{Router::search_url($params, '字段名', '字段值', '模块目录')}


注意:复选框字段,在创建选项值的时候,务必填写储存值,且储存值不可为汉字,建议为数字或者字母代替。

image


搜索函数多参数写法:

{Router::search_url($params, ['order', 'flag'],['updatetime', '1'])}

前面2个是条件字段,后面2个是值

Hello,欢迎来咨询~
点击在线咨询