Skip to content

Commit

Permalink
搜索参数类型控制
Browse files Browse the repository at this point in the history
  • Loading branch information
gongfuxiang committed Apr 11, 2021
1 parent 922b032 commit 7e20989
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 3 deletions.
8 changes: 8 additions & 0 deletions application/admin/controller/Site.php
Expand Up @@ -179,6 +179,9 @@ public function CurrentViewInit()
// 首页楼层数据类型
$this->assign('common_site_floor_data_type_list', lang('common_site_floor_data_type_list'));

// 搜索参数类型
$this->assign('common_goods_parameters_type_list', lang('common_goods_parameters_type_list'));

// 主导航
$this->assign('second_nav_list', [
[
Expand Down Expand Up @@ -334,6 +337,11 @@ public function Save()
// 楼层左侧分类
$params['home_index_floor_left_top_category'] = empty($params['home_index_floor_left_top_category']) ? '' : json_encode($params['home_index_floor_left_top_category'], JSON_UNESCAPED_UNICODE);
break;

// 搜索
case 'search' :
$field_list[] = 'home_search_params_type';
break;
}
break;

Expand Down
8 changes: 8 additions & 0 deletions application/admin/view/default/site/siteset/search.html
Expand Up @@ -76,6 +76,14 @@
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>{{$data.home_search_params_type.name}}<span class="am-form-group-label-tips">{{$data.home_search_params_type.describe}}</span></label>
<select name="{{$data.home_search_params_type.only_tag}}" multiple="multiple" class="am-radius chosen-select" data-placeholder="{{$data.home_search_params_type.name}}" data-validation-message="{{$data.home_search_params_type.error_tips}}">
{{foreach $common_goods_parameters_type_list as $v}}
<option value="{{$v.value}}" {{if isset($data['home_search_params_type']['value']) and in_array($v['value'], $data['home_search_params_type']['value'])}}selected{{/if}}>{{$v.name}}</option>
{{/foreach}}
</select>
</div>
<div class="am-form-group">
<label>{{$data.home_search_is_spec.name}}<span class="am-form-group-label-tips">{{$data.home_search_is_spec.describe}}</span></label>
<select name="{{$data.home_search_is_spec.only_tag}}" class="am-radius chosen-select" data-validation-message="{{$data.home_search_is_spec.error_tips}}" required>
Expand Down
2 changes: 1 addition & 1 deletion application/admin/view/default/sqlconsole/index.html
Expand Up @@ -11,7 +11,7 @@
<!-- form start -->
<form class="am-form form-validation view-save" action="{{:MyUrl('admin/sqlconsole/implement')}}" method="POST" request-type="ajax-fun" request-value="ViewImplementBack">
<div class="am-form-group">
<textarea rows="6" name="sql" class="am-radius" placeholder="SQL语句" data-validation-message="请填写需要执行的SQL语句" required></textarea>
<textarea rows="16" name="sql" class="am-radius" placeholder="SQL语句" data-validation-message="请填写需要执行的SQL语句" required></textarea>
</div>
<div class="am-form-group am-form-group-refreshing am-margin-top-lg am-padding-left-0">
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block" data-am-loading="{loadingText:'处理中...'}">执行</button>
Expand Down
1 change: 1 addition & 0 deletions application/service/ConfigService.php
Expand Up @@ -60,6 +60,7 @@ class ConfigService
'home_user_login_type',
'home_user_reg_type',
'admin_login_type',
'home_search_params_type',
];

/**
Expand Down
30 changes: 28 additions & 2 deletions application/service/SearchService.php
Expand Up @@ -259,7 +259,7 @@ public static function SearchWhereHandle($params = [])
}
if(!empty($params['goods_params_values']))
{
$ids = Db::name('GoodsParams')->where(['value'=>$params['goods_params_values'], 'type'=>2])->column('goods_id');
$ids = Db::name('GoodsParams')->where(['value'=>$params['goods_params_values'], 'type'=>self::SearchParamsWhereTypeValue()])->column('goods_id');
if(!empty($ids))
{
$where_base[] = ['g.id', 'in', $ids];
Expand Down Expand Up @@ -291,6 +291,32 @@ public static function SearchWhereHandle($params = [])
];
}

/**
* 参数搜索条件类型
* @author Devil
* @blog http://gong.gg/
* @version 1.0.0
* @date 2021-04-11
* @desc description
*/
public static function SearchParamsWhereTypeValue()
{
// 获取配置
$value = MyC('home_search_params_type');
if(empty($value))
{
$value = [2];
}

// 是否为数组
if(!is_array($value))
{
$value = explode(',', $value);
}

return $value;
}

/**
* 搜索记录添加
* @author Devil
Expand Down Expand Up @@ -480,7 +506,7 @@ public static function SearchGoodsParamsValueList($params = [])
$where_screening_price = $where['screening_price'];

// 仅搜索基础参数
$where_base[] = ['gp.type', '=', 2];
$where_base[] = ['gp.type', 'in', self::SearchParamsWhereTypeValue()];

// 一维数组、参数值去重
$data = Db::name('Goods')->alias('g')->join(['__GOODS_CATEGORY_JOIN__'=>'gci'], 'g.id=gci.goods_id')->join(['__GOODS_PARAMS__'=>'gp'], 'g.id=gp.goods_id')->where($where_base)->where(function($query) use($where_keywords) {
Expand Down

0 comments on commit 7e20989

Please sign in to comment.