搜索

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

2017-10-7 16:20| 发布者: happyxp| 查看: 1309| 评论: 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的过程中,会给企业会员的公司主页绑定二级域名方便用户保存网址,但是有的时候很多二级域名我们需要自己保留使用,比如新闻中心news.xp37.com等而不想使用二级域名,那么我们可以使用三级域名
destoon修改默认模板名称没反应解决方法
destoon修改默认模板名称没反应解决方法
destoon建立一个新模板的时候习惯为它命名一个新的中文名称方便查找,今天发现不能保存中文名称了。原因:模板文件中每个文件里面都有一个these.name.php文件,对应记录相关模块的自命名名称,如果文件权
Destoon致命bug导致缓存失效修复方法
Destoon致命bug导致缓存失效修复方法
最近发现最新版本的destoon 2017 11月最新版本,的Mysqli的缓存配置文件一个小错误,导致文件缓存失效,系统非常缓慢。可能是destoon官方不希望免费版效果太好导致的。修复办法:打开include下的mysqldb.c
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中如何调用产品级别level为指定1.2
destoon中如何调用产品级别level为指定1.2
destoon经常会调用产品级别对应级别level的信息,比如有的产品,你在1位置首页图片大图调用了,在2推荐的位置位置又想调用,1的位置显示的内容2里面必须有,2里面有的内容1里面不一定有。正常级别的话,设
destoon中如何准确的使用if else常见使用方法
destoon中如何准确的使用if else常见使用方法
destoon中if和else可以单独或者配合使用。例如:单条件判断 {if 判断条件}输出内容{/if}多条件判断{if 判断条件1}输出内容1{else} {if 判断条件2} 输出内容2 {else} 输出内容3 {/if}{/if}一次类推,注意{i
destoon中如何更改企业网站左侧栏的默认宽度
destoon中如何更改企业网站左侧栏的默认宽度
destoon中注册会员之后,每个企业会有一个自己单独的企业页面,通过登陆会员中心后,在店铺设置里面可以修改页面宽度高度。如果站长想修改默认的宽度怎么办呢?首先打开/module/member/home.inc.php找到 i
Destoon开启伪静态后搜索中文字词出现对话框http 403 forbidden的解决方法
Destoon开启伪静态后搜索中文字词出现对话框http 403
Destoon开启伪静态后搜索中文字词出现 http 403 forbidden的解决方法解决的方法:1、打开 include/safe.func.php2、搜索 HTTP 403 Forbidden 或者 dalert('HTTP 403 Forbidden', DT_PATH);的代码大概在89
destoon任何页面实现自定义筛选的方法
destoon任何页面实现自定义筛选的方法
首页在页头引入jquery.min.js 文件,默认的模板是有这个的。如果不是默认的模板,也没这个文件,请去下载个。然后在筛选的页面引入以下JS代码:scriptfunction getQueryString(){var result = location.se
解决Destoon7.0 远程图片无法下载到本地保存失败
解决Destoon7.0 远程图片无法下载到本地保存失败
Destoon中可以保存下载远程图片,非常实用的一个功能,可以把图片下载保存到本地,避免站外图片链接失效果对网站访问体验的影响。但常常会发现,你更换了服务器或者主机后,保存远程图片虽然开启了设置,

虾皮社区,成立十年了!

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

Copyright © 2007-2019 xp6.org Powered by Discuz

QQ|小黑屋|手机版|Archiver|虾皮社区 ( 鲁ICP备13006813号-1 ) 鲁公网安备 37021102000261号
返回顶部