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

浏览
1714
回复
0
收藏
0
点赞
0

楼主

2017-10-21 13:25:58
废话不多说 直接上真刀!

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

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


  14.         /**
  15.          * 最低价和最高价,input获取焦点的时候
  16.          * Copyright: www.Shopwwi.com
  17.          */
  18.         $("#nchSortbarPrice")
  19.             .on('focus', 'input', function(event) {
  20.                 event.preventDefault();
  21.                 console.log("最低价和最高价,input获取焦点的时候");
  22.                 var $par = $("#nchSortbarPrice");
  23.                 if ($par.hasClass('unfold')) {
  24.                     return;
  25.                 } else {
  26.                     $par.removeClass('fold').addClass('unfold');
  27.                 }
  28.             })
  29.             .on('keyup', 'input', function(event) {
  30.                 event.preventDefault();
  31.                 var $this = $(this),
  32.                     newPrice = /^\d+[.]?\d*/.exec($this.val());

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

  36.             }).on('focusout', 'input', function(event) {
  37.                 event.preventDefault();
  38.                 /* Act on the event */
  39.                 var $this = $(this);
  40.                 if ($this.val() !== '') {
  41.                     $this.val(parseFloat($this.val()));
  42.                 }
  43.             });


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


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

使用道具 举报

回复

跳转到指定楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫描二维码下载APP
快速回复 返回列表