搜索

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

2017-10-7 16:20| 发布者: happyxp| 查看: 2992| 评论: 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致命bug导致缓存失效修复方法
Destoon致命bug导致缓存失效修复方法
最近发现最新版本的destoon 2017 11月最新版本,的Mysqli的缓存配置文件一个小错误,导致文件缓存失效,系统非常缓慢。可能是destoon官方不希望免费版效果太好导致的。修复办法:打开include下的mysqldb.c
destoon模块开发流程,如何添加一个新的模块
destoon模块开发流程,如何添加一个新的模块
一、复制模块首先根据需要制作的模块功能,从系统已有模块里选择一个功能类似的模块,在此模块基础上进行修改开发例如,复制求购模块为采购,模块为offer复制 module/buy/ 为 module/offer 修改 module/of
destoon中如何调用产品级别level为指定1.2
destoon中如何调用产品级别level为指定1.2
destoon经常会调用产品级别对应级别level的信息,比如有的产品,你在1位置首页图片大图调用了,在2推荐的位置位置又想调用,1的位置显示的内容2里面必须有,2里面有的内容1里面不一定有。正常级别的话,设
destoon修改默认模板名称没反应解决方法
destoon修改默认模板名称没反应解决方法
destoon建立一个新模板的时候习惯为它命名一个新的中文名称方便查找,今天发现不能保存中文名称了。原因:模板文件中每个文件里面都有一个these.name.php文件,对应记录相关模块的自命名名称,如果文件权
Destoon5.0性能优化之公司列表慢的解决办法
Destoon5.0性能优化之公司列表慢的解决办法
由于更多的功能和更快的性能,中国产品网升级到了最新版的Destoon5.0,但是发现Company公司黄页模块速度非常慢,我们经过检查,发现程序是采用的Like查询分类ID,而MYSQL的普通索引对LIKE查询无效,造成公

虾皮社区,成立十年了!

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

Copyright © 2007-2024 xp6.org Powered by Discuz

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