or 注册

ShopWWI/ShopNC 给你的搜索列表页增加价格自定义筛选功能

废话不多说 直接上真刀!

1.在列表页面增加一个价格自定义筛选组件,如图
QQ图片20171021132113.png


2.增加JS对此进行相关掌控,入鼠标点击展现方式等,最后输出跳转
/**
* 获取价格区间
* @return {[type]} [description]
*/
function _getPirceRange() {
var _arrayPrice = [],
priceStart = $("#priceStart").val(),
priceEnd = $("#priceEnd").val();
_arrayPrice.push(priceStart === '' ? 0 : parseFloat(priceStart));
_arrayPrice.push(priceEnd === '' ? 0 : parseFloat(priceEnd));
_arrayPrice.sort();
return _arrayPrice;
}


/**
* 最低价和最高价,input获取焦点的时候
* Copyright: www.Shopwwi.com
*/
$("#nchSortbarPrice")
.on('focus', 'input', function(event) {
event.preventDefault();
console.log("最低价和最高价,input获取焦点的时候");
var $par = $("#nchSortbarPrice");
if ($par.hasClass('unfold')) {
return;
} else {
$par.removeClass('fold').addClass('unfold');
}
})
.on('keyup', 'input', function(event) {
event.preventDefault();
var $this = $(this),
newPrice = /^\d+[.]?\d*/.exec($this.val());

if (!/^\d+[.]?\d*$/.test($this.val())) {
$this.val(newPrice);
}

}).on('focusout', 'input', function(event) {
event.preventDefault();
/[i] Act on the event [/i]/
var $this = $(this);
if ($this.val() !== '') {
$this.val(parseFloat($this.val()));
}
});


/**
* 商品价格搜索按钮
*/
$("#nchSortbarPriceBtn").click(function(event) {
event.preventDefault();
var priceSortList = _getPirceRange(),
price = priceSortList.join("_");
$.post("index.php?app=search&wwi=get_price_url&price="+price, <?php echo getParam2();?>, function (res) {
window.location.href=res.url;
}, "json")
});
3.上面我们添加了一个中转获取文件,目的是为了能让价格自定义筛选 不影响我们的伪静态规则
    public function get_price_urlWwi(){
$price=$_GET['price'];
list($min_p, $max_p) = split ('[_.-]', $price);
$go=$_POST['go'];
$purl = $_POST;
$param=array('min_p'=>$min_p,'max_p'=>$max_p);
if (!empty($param)) {
foreach ($param as $key => $val) {
$purl['param'][$key] = $val;
}
}
$url=urlMall($purl['app'], $purl['wwi'], $purl['param']);
$data=array('status'=>1,'url'=>$url);
echo json_encode($data);
}
4.在search文件中增加筛选规则
            if ($_GET['max_p'] > 0) {
$condition['goods_promotion_price'] = array('between', array($_GET['min_p'], $_GET['max_p']));
}


5.最后就是调整伪静态规则了!那么到这里自定义筛选价格就完成了!
有兴趣的动手试试吧?

0 个评论

要回复文章请先登录注册