search
parent
6b4c67eaf6
commit
47e1c58eb6
|
|
@ -84,6 +84,11 @@ class SearchController extends CommonController
|
||||||
*/
|
*/
|
||||||
public function GoodsList()
|
public function GoodsList()
|
||||||
{
|
{
|
||||||
|
// 参数处理
|
||||||
|
$this->params['order_by_field'] = trim(I('order_by_field', 'default'));
|
||||||
|
$this->params['order_by_type'] = trim(I('order_by_type', 'desc'));
|
||||||
|
|
||||||
|
// 获取商品列表
|
||||||
$data = SearchService::GoodsList($this->params);
|
$data = SearchService::GoodsList($this->params);
|
||||||
if(empty($data['data']))
|
if(empty($data['data']))
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -88,28 +88,39 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="search-content">
|
<div class="search-content">
|
||||||
<ul class="sort-nav" data-am-sticky="{animation: 'slide-top'}">
|
<ul class="sort-nav" data-am-sticky="{animation: 'slide-top'}">
|
||||||
<li class="first">
|
<li class="active" data-field="default" data-type="desc">
|
||||||
<a title="综合">综合排序</a>
|
<a href="javascript:;" title="综合">
|
||||||
|
<span>综合</span>
|
||||||
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li data-field="sales_count" data-type="desc">
|
||||||
<a title="销量">销量排序</a>
|
<a href="javascript:;" title="销量">
|
||||||
<i class="am-icon-sort-amount-asc"></i>
|
<span>销量</span>
|
||||||
|
<i class="am-icon-long-arrow-down"></i>
|
||||||
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li data-field="price" data-type="desc">
|
||||||
<a title="价格">价格优先</a>
|
<a href="javascript:;" title="价格">
|
||||||
<i class="am-icon-sort-amount-asc"></i>
|
<span>价格</span>
|
||||||
|
<i class="am-icon-long-arrow-down"></i>
|
||||||
|
</a>
|
||||||
</li>
|
</li>
|
||||||
<li class="big"><a title="评价" href="#">评价为主</a></li>
|
|
||||||
</ul>
|
</ul>
|
||||||
<div class="clear"></div>
|
<div class="clear"></div>
|
||||||
<ul class="am-avg-sm-2 am-avg-md-3 am-avg-lg-5 data-list"></ul>
|
<ul class="am-avg-sm-2 am-avg-md-3 am-avg-lg-5 data-list"></ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- 加载数据 -->
|
||||||
|
<div class="loding-view">
|
||||||
|
<i class="am-icon-spinner am-icon-pulse"></i>
|
||||||
|
<span>加载中...</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
<!-- 没有数据 -->
|
<!-- 没有数据 -->
|
||||||
<div class="table-no" style="display:none;"><i class="am-icon-warning"></i> {{:L('common_not_data_tips')}}</div>
|
<div class="table-no" style="display:none;"><i class="am-icon-warning"></i> {{:L('common_not_data_tips')}}</div>
|
||||||
|
|
||||||
<!-- 分页 -->
|
<!-- 分页 -->
|
||||||
<button type="button" class="am-btn am-btn-default am-btn-block search-pages-submit" data-url="{{:U('Home/Search/GoodsList')}}">加载更多 <i class="am-icon-angle-double-down"></i></button>
|
<button type="button" class="am-btn am-btn-default am-btn-block search-pages-submit" data-url="{{:U('Home/Search/GoodsList')}}" style="display:none;">加载更多 <i class="am-icon-angle-double-down"></i></button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
||||||
|
|
@ -108,10 +108,20 @@ class SearchService
|
||||||
// 获取商品列表
|
// 获取商品列表
|
||||||
if($result['total'] > 0)
|
if($result['total'] > 0)
|
||||||
{
|
{
|
||||||
|
// 排序
|
||||||
|
$order_by = '';
|
||||||
|
if(!empty($params['order_by_field']) && !empty($params['order_by_type']) && $params['order_by_field'] != 'default')
|
||||||
|
{
|
||||||
|
$order_by = $params['order_by_field'].' '.$params['order_by_type'];
|
||||||
|
} else {
|
||||||
|
$order_by = 'access_count '.$params['order_by_type'].', sales_count '.$params['order_by_type'];
|
||||||
|
}
|
||||||
|
|
||||||
|
// 分页计算
|
||||||
$page = intval(I('page', 1));
|
$page = intval(I('page', 1));
|
||||||
$n = 10;
|
$n = 10;
|
||||||
$m = intval(($page-1)*$n);
|
$m = intval(($page-1)*$n);
|
||||||
$result['data'] = GoodsService::GoodsList(['where'=>$where, 'm'=>$m, 'n'=>$n]);
|
$result['data'] = GoodsService::GoodsList(['where'=>$where, 'm'=>$m, 'n'=>$n, 'order_by'=>$order_by]);
|
||||||
$result['page_total'] = ceil($result['total']/$n);
|
$result['page_total'] = ceil($result['total']/$n);
|
||||||
}
|
}
|
||||||
return $result;
|
return $result;
|
||||||
|
|
|
||||||
|
|
@ -65,7 +65,7 @@ a:hover, a:focus { color: #d2364c; }
|
||||||
img, input {
|
img, input {
|
||||||
vertical-align: middle;}
|
vertical-align: middle;}
|
||||||
a {
|
a {
|
||||||
color: #000;
|
color: #333;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -457,6 +457,9 @@ background:url(../Images/ibar_sprites.png) no-repeat;background-position:0px -23
|
||||||
/* 公共错误提示页面 */
|
/* 公共错误提示页面 */
|
||||||
.tips-error { margin-top: 10%; }
|
.tips-error { margin-top: 10%; }
|
||||||
|
|
||||||
|
/* 页面加载数据 */
|
||||||
|
.loding-view { text-align: center; color: #888; padding: 10px 0; }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 底部
|
* 底部
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,5 @@
|
||||||
@charset "utf-8";
|
@charset "utf-8";
|
||||||
/* CSS Document */
|
/* CSS Document */
|
||||||
/*通用格式*/
|
|
||||||
*, *:after, *:before{
|
*, *:after, *:before{
|
||||||
-webkit-box-sizing: border-box;
|
-webkit-box-sizing: border-box;
|
||||||
-moz-box-sizing: border-box;
|
-moz-box-sizing: border-box;
|
||||||
|
|
@ -48,10 +47,9 @@ li.select-result dt {left:-26px; top:0;font-weight:bold;width:50px;}
|
||||||
|
|
||||||
|
|
||||||
/*排序*/
|
/*排序*/
|
||||||
.sort-nav { width:100%; border-bottom: 1px solid #eee; background: #fff; overflow: hidden; height: 30px; }
|
.sort-nav { width:100%; background: #fff; overflow: hidden; height: 30px; }
|
||||||
.sort-nav li{ float:left;width:33.33%;height:30px; line-height:30px; text-align:center; padding:0px 0px;}
|
.sort-nav li{ float:left;width:33.33%;height:30px; line-height:30px; text-align:center; padding:0px 0px;cursor: pointer;}
|
||||||
.sort-nav li a{font-size:14px;}
|
.sort-nav li a{font-size:14px;}
|
||||||
.sort-nav li.big{display:none;}
|
|
||||||
.sort-nav li.first {color: #F03726;}
|
.sort-nav li.first {color: #F03726;}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -88,7 +86,7 @@ dl#select3 .dd-conent{ left:-200%; right:0px;}
|
||||||
|
|
||||||
.select li.select-result{display: none;}
|
.select li.select-result{display: none;}
|
||||||
.suggest,.searchAbout,ul.pagination{ display:block;}
|
.suggest,.searchAbout,ul.pagination{ display:block;}
|
||||||
.select,.sort-nav{padding:10px 10px 5px 10px;box-shadow: 0px 0px 2px #ccc;margin-top:5px;background: #fff;}
|
.select,.sort-nav{padding:10px 10px 5px 10px;border: 1px solid #eee;margin-top:5px;background: #fff;}
|
||||||
.searchAbout{padding:10px;}
|
.searchAbout{padding:10px;}
|
||||||
|
|
||||||
.select-list{width:100%;padding:0px 0px;}
|
.select-list{width:100%;padding:0px 0px;}
|
||||||
|
|
@ -103,10 +101,10 @@ dl#select3 .dd-conent{ left:-200%; right:0px;}
|
||||||
|
|
||||||
|
|
||||||
/*排序*/
|
/*排序*/
|
||||||
.sort-nav{padding:0px 0px;border-radius: 0px 0px 4px 4px; margin:10px 5px; font-size: 12px;width:auto;overflow: hidden;}
|
.sort-nav{padding:0px 0px;margin:10px 5px; font-size: 12px;width:auto;overflow: hidden;}
|
||||||
.sort-nav li{ display:inline; height:35px; line-height:35px; padding:0px 20px;width:auto;border-right:1px dotted #ddd;}
|
.sort-nav li{ display:inline; padding:0px 20px;width:auto;border-right:1px solid #eee;}
|
||||||
.sort-nav li.big{display:block;border: none;}
|
.sort-nav li.active{background: #F5F5F5;}
|
||||||
.sort-nav li.first{background: #F5F5F5;color: #000;}
|
.sort-nav li.active a { color: #d2364c;}
|
||||||
.select-list .dd-conent { padding-top: 10px; }
|
.select-list .dd-conent { padding-top: 10px; }
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,31 @@ $(function()
|
||||||
get_goods_list(1);
|
get_goods_list(1);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// 排序导航
|
||||||
|
$('.sort-nav li').on('click', function()
|
||||||
|
{
|
||||||
|
var type = $(this).attr('data-type');
|
||||||
|
$('.sort-nav li').attr('data-type', 'desc');
|
||||||
|
$('.sort-nav li a i').removeClass('am-icon-long-arrow-up').addClass('am-icon-long-arrow-down');
|
||||||
|
|
||||||
|
if($(this).hasClass('active'))
|
||||||
|
{
|
||||||
|
if(type == 'asc')
|
||||||
|
{
|
||||||
|
$(this).attr('data-type', 'desc');
|
||||||
|
$(this).find('a i').removeClass('am-icon-long-arrow-down').addClass('am-icon-long-arrow-up');
|
||||||
|
} else {
|
||||||
|
$(this).attr('data-type', 'asc');
|
||||||
|
$(this).find('a i').removeClass('am-icon-long-arrow-up').addClass('am-icon-long-arrow-down');
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
$('.sort-nav li').removeClass('active');
|
||||||
|
$(this).addClass('active');
|
||||||
|
$(this).attr('data-type', 'asc');
|
||||||
|
}
|
||||||
|
get_goods_list(1);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
var hh = document.documentElement.clientHeight;
|
var hh = document.documentElement.clientHeight;
|
||||||
var ls = document.documentElement.clientWidth;
|
var ls = document.documentElement.clientWidth;
|
||||||
|
|
@ -66,7 +91,6 @@ $(function()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
$(document).on("click", ".screening-remove-submit", function() {
|
$(document).on("click", ".screening-remove-submit", function() {
|
||||||
$(".dd-conent").slideUp(300);
|
$(".dd-conent").slideUp(300);
|
||||||
})
|
})
|
||||||
|
|
@ -122,6 +146,8 @@ $(function()
|
||||||
var data = {
|
var data = {
|
||||||
keywords: $('#search-input').val() || '',
|
keywords: $('#search-input').val() || '',
|
||||||
page: page || parseInt($('.search-pages-submit').attr('data-page')) || 1,
|
page: page || parseInt($('.search-pages-submit').attr('data-page')) || 1,
|
||||||
|
order_by_field: $('.sort-nav li.active').attr('data-field') || 'default',
|
||||||
|
order_by_type: $('.sort-nav li.active').attr('data-type') == 'asc' ? 'desc' : 'asc',
|
||||||
}
|
}
|
||||||
$('.select-result .selected a').each(function(k, v)
|
$('.select-result .selected a').each(function(k, v)
|
||||||
{
|
{
|
||||||
|
|
@ -134,6 +160,11 @@ $(function()
|
||||||
$('.data-list').html('');
|
$('.data-list').html('');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 页面提示处理
|
||||||
|
$('.loding-view').show();
|
||||||
|
$('.search-pages-submit').hide();
|
||||||
|
$('.table-no').hide();
|
||||||
|
|
||||||
// 请求数据
|
// 请求数据
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url:$('.search-pages-submit').data('url'),
|
url:$('.search-pages-submit').data('url'),
|
||||||
|
|
@ -143,6 +174,7 @@ $(function()
|
||||||
data:data,
|
data:data,
|
||||||
success:function(result)
|
success:function(result)
|
||||||
{
|
{
|
||||||
|
$('.loding-view').hide();
|
||||||
if(result.code == 0)
|
if(result.code == 0)
|
||||||
{
|
{
|
||||||
for(var i in result.data.data)
|
for(var i in result.data.data)
|
||||||
|
|
@ -182,6 +214,9 @@ $(function()
|
||||||
},
|
},
|
||||||
error:function(xhr, type)
|
error:function(xhr, type)
|
||||||
{
|
{
|
||||||
|
$('.loding-view').hide();
|
||||||
|
$('.search-pages-submit').hide();
|
||||||
|
$('.table-no').show();
|
||||||
Prompt('网络异常出错');
|
Prompt('网络异常出错');
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue