摘要:前几天做项目时,碰到个需求,商品多级分类筛选功能。虽然实现的不够优雅,但起码能有效果,心里还是很高兴的。例如条件全部为空即显示所有模式为全部范围,分类和价格多带带指定。
前几天做项目时,碰到个需求,商品多级分类筛选功能。之前从没做过,查了不少资料,总算实现了。虽然实现的不够优雅,但起码能有效果,心里还是很高兴的。菜鸟有一颗成为大神的心。在这里分享给各位童鞋,欢迎大佬指导一下。
先说下原理:php实现多级筛选主要是利用a链接get传参,把每个标签包含的参数通过a链接传到后台控制器,控制器接收参数后接着再把值赋回给模板,并且根据参数查询对应数据输出给前台。实现起来也不难,讲到这里,感觉刚开始自己完全没有思路的样子真是该打,哈哈...
下面是前台代码示例:
类型: 0, "mode" => $a, "price"=>$c])}">全部 1, "mode" => $a, "price"=>$c])}">官方新闻 2, "mode" => $a, "price"=>$c])}">移动应用 3, "mode" => $a, "price"=>$c])}">微信公众号 4, "mode" => $a, "price"=>$c])}">Android开发 模式: $b, "mode" => "0", "price"=>$c])}">全部 $b, "mode" => "1", "price"=>$c])}">模式1 $b, "mode" => "2", "price"=>$c])}">模式2 $b, "mode" => "3", "price"=>$c])}">模式3 $b, "mode" => "4", "price"=>$c])}">模式4 $b, "mode" => "5", "price"=>$c])}">模式5 $b, "mode" => "6", "price"=>$c])}">模式6 预算价格: $b, "mode" => $a, "price"=>"0"])}">全部 $b, "mode" => $a, "price"=>"1"])}">600以下 $b, "mode" => $a, "price"=>"600"])}">600-1000 $b, "mode" => $a, "price"=>"1000"])}">1000-5000 $b, "mode" => $a, "price"=>"5000"])}">5000以上
这段代码大家肯定都能看懂,我再啰嗦一下,比如当用户第一下点击类型里面的全部的时候,便会把category字段为0传到后台。后台接收判断并把值再赋回给前台,如果category字段值为0,则查询全部的分类数据。如果用户第二下点击模式里面的全部,那此时因为category的值是由后台赋值过来的所以为0,mode为0。如果第三下点击价格里的全部,则三个标签值全部为0。此时后台判断条件,如果全部为0,则全部查询,模板遍历显示。举一反三,其他标签也是一样。实际操作中,肯定不会把值一个一个写在标签里这么傻,只要用volist遍历出来取值就可以了。大家都懂得哈。
因为是多级筛选,所以where方法条件肯定不止一个,所以要拼接where方法的值,我是个TPer,用TP5的方法举例:
$b = input("category");//接收的分类id
$a = input("mode"); //接收的模式id
$c = input("price"); //接收的价格范围值
$where = ["category"=>$category,"mode"=>$mode,"price"=>$price];//拼接where条件
$data = model("表名")->where($where)->select(); //查询数据
return $this->fetch("",[
"data"=>$data,
"c"=>$c,
"b"=>$b,
"a"=>$a
]); //模板赋值
当然,实际的情况肯定要设条件判断三个值的数据的,根据值的情况设定where条件。例如:
if ($a == 0 && $b == 0 && $c == 0) {//条件全部为空,即显示所有 $where = ""; } elseif ($a == 0 && $b != 0 && $c != 0) {//模式为全部范围,分类和价格多带带指定。 $where = ["b"=>$b,"c"=>$c]; }
因为我的代码写的比较冗余,就不献丑了哈...
最后实现的效果是这样:
图中的样式可以在标签里判断,如果页面接收的参数值和当前标签中的值相同,则给标签高亮样式。至此,就是这样,如果有同学有更好的思路,请不吝赐教。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/30914.html
摘要:前几天做项目时,碰到个需求,商品多级分类筛选功能。虽然实现的不够优雅,但起码能有效果,心里还是很高兴的。例如条件全部为空即显示所有模式为全部范围,分类和价格单独指定。 前几天做项目时,碰到个需求,商品多级分类筛选功能。之前从没做过,查了不少资料,总算实现了。虽然实现的不够优雅,但起码能有效果,心里还是很高兴的。菜鸟有一颗成为大神的心。在这里分享给各位童鞋,欢迎大佬指导一下。先说下原理:...
摘要:前几天做项目时,碰到个需求,商品多级分类筛选功能。虽然实现的不够优雅,但起码能有效果,心里还是很高兴的。例如条件全部为空即显示所有模式为全部范围,分类和价格单独指定。 前几天做项目时,碰到个需求,商品多级分类筛选功能。之前从没做过,查了不少资料,总算实现了。虽然实现的不够优雅,但起码能有效果,心里还是很高兴的。菜鸟有一颗成为大神的心。在这里分享给各位童鞋,欢迎大佬指导一下。先说下原理:...
摘要:前几天做项目时,碰到个需求,商品多级分类筛选功能。虽然实现的不够优雅,但起码能有效果,心里还是很高兴的。例如条件全部为空即显示所有模式为全部范围,分类和价格单独指定。 前几天做项目时,碰到个需求,商品多级分类筛选功能。之前从没做过,查了不少资料,总算实现了。虽然实现的不够优雅,但起码能有效果,心里还是很高兴的。菜鸟有一颗成为大神的心。在这里分享给各位童鞋,欢迎大佬指导一下。先说下原理:...
摘要:最近后端的同事要我写一个购物车,一开始我用写,但写着写着发现逻辑太混乱了,写不下去。所以我想着用来实现一个。但在购物车中这样的方法是不行的,单个商品的选中以及取消所执行的逻辑有部分不同,所以我选择将其拆分。 最近后端的同事要我写一个购物车,一开始我用jQuery写,但写着写着发现逻辑太混乱了,写不下去。最后花了五分钟找了个demo丢给了他。后来我不甘心,毕竟水平菜还不求上进就完蛋了。所...
摘要:阿里云上传文件第三节实现淘宝上传商品图片首先我们来看看淘宝的功能和样式之后看看制作完成的演示由于全部功能弄成有点大限制上传大小好像在之内压缩之后也有所以分为两个演示图片后端代码基于第三个文章不变去掉上传进度条去掉上传提示重写重写前端代码需要 **TP5+阿里云OSS上传文件第三节,实现淘宝上传商品图片首先我们来看看淘宝的功能和样式:**showImg(https://segmentfa...
阅读 1373·2021-11-11 16:54
阅读 9166·2021-11-02 14:44
阅读 2330·2021-10-22 09:53
阅读 3240·2019-08-30 11:18
阅读 1903·2019-08-29 13:29
阅读 1984·2019-08-27 10:58
阅读 1610·2019-08-26 11:38
阅读 3490·2019-08-26 10:31