搜索

destoon任何页面实现自定义筛选的方法

2017-10-7 16:20| 发布者: happyxp| 查看: 3231| 评论: 0

摘要: 首页在页头引入jquery.min.js 文件,默认的模板是有这个的。如果不是默认的模板,也没这个文件,请去下载个。然后在筛选的页面引入以下JS代码:scriptfunction getQueryString(){var result = location.search.match ...
首页在页头引入jquery.min.js 文件,默认的模板是有这个的。如果不是默认的模板,也没这个文件,请去下载个。

然后在筛选的页面引入以下JS代码:

<script>
function getQueryString(){ 
var result = location.search.match(new RegExp("[\?\&][^\?\&]+=[^\?\&]+","g")); 
if(result == null){ 
return ""; 

for(var i = 0; i < result.length; i++){ 
result[i] = result[i].substrin(1); 

return result; 


function goSort(name,value){ 
var string_array = getQueryString(); 
var oldUrl = (document.URL.indexOf("index.php")==-1)?document.URL+"index.php":document.URL; 
var newUrl; 
if(string_array.length>0)//如果已经有筛选条件 
{ var repeatField = false; 
for(var i=0;i<string_array.length;i++){ 
if(!(string_array[i].indexOf(name)==-1)){ 
repeatField = true;//如果有重复筛选条件,替换条件值 
newUrl = oldUrl.replac(string_array[i],name+"="+value); 



//如果没有重复的筛选字段 
if(repeatField == false){ 
newUrl = oldUrl+"&"+name+"="+value; 


}else{//如果还没有筛选条件 
newUrl = oldUrl+"?"+name+"="+value; 


//跳转 
window.location = newUrl; 



function setSelected(name,value){ 
var all_li = $("#"+name).find("a"); 
//清除所有a标签的now类 
all_li.each(function(){ 
$(this).removeClass("now"); 
}); 
//为选中的a增加now类 
all_li.eq(value).addClass("now"); 


$(document).ready(function(){ 
var string_array = getQueryString(); 
for(var i=0;i<string_array.length;i++){ 
var tempArr = string_array[i].split("="); 
setSelected(tempArr[0],tempArr[1]);//设置选中的筛选条件 

}); 
</script>

然后在模板中引入条件语句,这下面的是筛选条件,看不懂的先学学,参考修改。
{php $condition = "status=3";} 
{php $dmode = array('',1=>" and price=0",2=>" and price>0");}
{php $dcatid = array('',1=>" and catid=10",2=>" and catid=11");}
{php $dprice = array('',1=>" and price<1001",2=>" and price>1000 and price<2000",3=>" and price>2001 and price<3000",4=>" and price>3001 and price<5000",5=>" and and price>5001 and price<10001",6=>" and price>10000");}
{php $order = isset($order) ? intval($order) : 0;}
{php $mode = isset($mode) ? intval($mode) : 0;}
{php $dorder = array('addtime desc','price desc','hits desc');}
{php $condition.= $dmode[$mode];}
{php $condition.= $dcatid[$catid];}
{php $condition.= $dprice[$price];}
{php $condition.=" order by $dorder[$order]";} 

筛选模板,仅供参考

<div class="left j-left wfs fz12">
<h3 class="template">收费模式<span class="hide-left j-hide-left" style=""><i></i></span></h3>
<div class="icons j-icons wfs" id="mode">
<a class="now" href="javascript:goSort('mode',0);">全部</a>
<a href="javascript:goSort('mode',1);">商业模板</a>
<a href="javascript:goSort('mode',2);">免费模板</a>
</div>
<h3 class="template">模板类型<span class="hide-left j-hide-left" style=""><i></i></span></h3>
<div class="icons j-icons wfs" id="catid">
<a class="now" href="javascript:goSort('catid',0);">全部</a>
<a href="javascript:goSort('catid',1);">平台型</a>
<a href="javascript:goSort('catid',2);">小众型</a>
</div> 
<h3 class="template">价格<span class="hide-left j-hide-left" style=""><i></i></span></h3>
<div class="icons j-icons wfs price" id="price">
<li> <a class="now" href="javascript:goSort('price',0);">全部</a></li>
<li> <a href="javascript:goSort('price',1);">1000以下</a></li>
<li><a href="javascript:goSort('price',2);">1000-2000</a></li>
<li> <a href="javascript:goSort('price',3);">2000-3000</a></li>
<li> <a href="javascript:goSort('price',4);">3000-5000</a></li>
<li> <a href="javascript:goSort('price',5);">5000-10000</a></li>
<li> <a href="javascript:goSort('price',6);">10000以上</a></li>
</div>


</div>

</div>

<div class="right j-right" style="margin-left: 300px;">
<div class="sort wfs">
<div style="float:left;">
<span style="margin-left:45px; float:left; padding-top:5px; font-size:12px;">排序:</span>

<span class="sort-icons j-sort-icons" id="order">
<a class="now" rel="nofollow" href="javascript:goSort('order',0);">新品</a>
<a rel="nofollow" href="javascript:goSort('order',1);">价格</a>
<a rel="nofollow" href="javascript:goSort('order',2);">热销</a>
</span>

</div>

</div>

循环语句中&condition=后面加入上$condition
大功 告成。

路过

雷人

握手

鲜花

鸡蛋
本站文章如无特殊说明均为 虾皮社区 原创,可无偿使用和传播,欢迎转载分享!
转载请注明本文地址:
如有文章侵犯了您的权利,请联系本站站长,我们将在第一时间删除相关内容,谢谢!
热门文章
destoon各栏目调用汇总
destoon各栏目调用汇总
destoon根目录、模板目录和样式目录:{DT_PATH}  = http://localhost/{DT_SKIN}  = http://localhost/skin/default/destoon导入头脚:{template 'header'}{template 'footer'}destoon对应模块首页:{$
destoon6.0开发修改之付费VIP会员才开通二级域名
destoon6.0开发修改之付费VIP会员才开通二级域名
1、打开includeglobal.func.php文件 搜索:if($subdomain || $domain) {修改为:$HY = userinfo($username);//S addif($subdomain $HY || $domain) {//S eidt2、打开modulecompanyindex.inc.p
destoon企业会员绑定三级域名、二级域名的方法。
destoon企业会员绑定三级域名、二级域名的方法。
使用destoon的过程中,会给企业会员的公司主页绑定二级域名方便用户保存网址,但是有的时候很多二级域名我们需要自己保留使用,比如新闻中心news.xp37.com等而不想使用二级域名,那么我们可以使用三级域名
destoon后台登录提示未被允许的地区
destoon后台登录提示未被允许的地区
工作中使用destoon二次开发B2B平台,今天在登录destoon后台的时候,突然出现报错,报错提示为”未被允许的地区“。因为前面在后台设置中为了防止后台被破解设置了允许登录后台地区,可能是因为我们这边的I
解决Destoon7.0 远程图片无法下载到本地保存失败
解决Destoon7.0 远程图片无法下载到本地保存失败
Destoon中可以保存下载远程图片,非常实用的一个功能,可以把图片下载保存到本地,避免站外图片链接失效果对网站访问体验的影响。但常常会发现,你更换了服务器或者主机后,保存远程图片虽然开启了设置,
destoon模块开发流程,如何添加一个新的模块
destoon模块开发流程,如何添加一个新的模块
一、复制模块首先根据需要制作的模块功能,从系统已有模块里选择一个功能类似的模块,在此模块基础上进行修改开发例如,复制求购模块为采购,模块为offer复制 module/buy/ 为 module/offer 修改 module/of
destoon 网站设置QQ一键登录的回调地址
destoon 网站设置QQ一键登录的回调地址
QQ一键登录中大家都是用的什么回调地址?回调地址填写错误容易导致QQ互联提示redirect uri is illegal(100010)错误,在QQ互联管理平台编辑应用,填写回调地址为:http://网站首页域名/api/oauth/qq/callba
destoon模块自定义字段的添加并让其支持搜索的方法
destoon模块自定义字段的添加并让其支持搜索的方法
今天看了看模块设置里的自定义字段功能的用法,试着加了个新字段glry,设置了值,然后去数据库moduleid的article表看,字段成功加上了。于是去template下article文件夹的list.htm和show.htm里调看看能不能
Destoon致命bug导致缓存失效修复方法
Destoon致命bug导致缓存失效修复方法
最近发现最新版本的destoon 2017 11月最新版本,的Mysqli的缓存配置文件一个小错误,导致文件缓存失效,系统非常缓慢。可能是destoon官方不希望免费版效果太好导致的。修复办法:打开include下的mysqldb.c
destoon中如何调用产品级别level为指定1.2
destoon中如何调用产品级别level为指定1.2
destoon经常会调用产品级别对应级别level的信息,比如有的产品,你在1位置首页图片大图调用了,在2推荐的位置位置又想调用,1的位置显示的内容2里面必须有,2里面有的内容1里面不一定有。正常级别的话,设

虾皮社区,成立十年了!

站长自己也搞不懂想做个什么,反正就是一直在努力的做!

Copyright © 2007-2024 xp6.org Powered by Discuz

QQ|Archiver|手机版|小黑屋|虾皮社区 |网站地图
返回顶部