最土团购商品按价格排序实现方法分享

   2015-08-02 0
核心提示:因为公司要实现商品按价格排序,网上都是收费的,为了省钱也为了体验下修改的乐趣,通过前台带推断出后台代码的实现方法。

要想实现按价格排序需要前台有链接,后台然后实现相应的功能即可。

前台代码:\include\template\team_multi.html
这个模板文件,因为我们是开启了首页显示多项团购显示,所以用点的这个team_multi.html这个模板

复制代码
代码如下:

<div class="filter-by-group-title">按价格:</div>
<div class="filter-by-group-id">
<ul class="cates">
<li
<!--{if $selector_p == ''}-->
class="current"
<!--{/if}-->
><a href="?gid={$_GET['gid']}&areaid={$_GET['areaid']}">全部</a>
</li>
<li
<!--{if $selector_p == 'p1'}-->
class="current"
<!--{/if}-->
><a href="?gid={$_GET['gid']}&areaid={$_GET['areaid']}&p=p1">10元以下</a>
</li>
<li
<!--{if $selector_p == 'p2'}-->
class="current"
<!--{/if}-->
><a href="?gid={$_GET['gid']}&areaid={$_GET['areaid']}&p=p2">10-50元</a>
</li>
<li
<!--{if $selector_p == 'p3'}-->
class="current"
<!--{/if}-->
><a href="?gid={$_GET['gid']}&areaid={$_GET['areaid']}&p=p3">50-100元</a>
</li>
<li
<!--{if $selector_p == 'p4'}-->
class="current"
<!--{/if}-->
><a href="?gid={$_GET['gid']}&areaid={$_GET['areaid']}&p=p4">100-200元</a>
</li>
<li
<!--{if $selector_p == 'p5'}-->
class="current"
<!--{/if}-->
><a href="?gid={$_GET['gid']}&areaid={$_GET['areaid']}&p=p5">200元以上</a>
</li>
</ul>
</div>
</div>


后台代码:\include\function\common.php
index_get_team 函数 修改后的代码

复制代码
代码如下:

function index_get_team($city_id,$group_id=0,$p="") {
global $INI;
$multi = option_yes('indexmulti');
$city_id = abs(intval($city_id));
/* 是否首页多团,不是则返回当前城市 */
if (!$multi) return current_team($city_id);
$now = time();
$size = abs(intval($INI['system']['indexteam']));
/* 侧栏团购数小于1,则返回当前城市数据 */
if ($size<=1) return current_team($city_id);
switch ($p)
{
case "p1":
$pp1="team_price < '10'";
$pp2="";
break;
case "p2":
$pp1="team_price > '10'";
$pp2="team_price < '50'";
break;
case "p3":
$pp1="team_price > '50'";
$pp2="team_price < '100'";
break;
case "p4":
$pp1="team_price > '100'";
$pp2="team_price < '200'";
break;
case "p5":
$pp1="team_price > '200'";
$pp2="";
break;
default:
$pp1="";
$pp2="";
}
$oc = array(
'team_type' => 'normal',
"begin_time < '{$now}'",
"end_time > '{$now}'",
);
if(!empty($pp1)){
array_push($oc,$pp1);
}
if(!empty($pp2)){
array_push($oc,$pp2);
}
if($group_id) $oc['group_id']=$group_id;
/* 数据库匹配多个城市订单,前者按照多城市搜索,后者兼容旧字段city_id搜索 */
$oc[] = "(city_ids like '%@{$city_id}@%' or city_ids like '%@0@%') or (city_ids = '' and city_id in(0,{$city_id}))";
$teams = DB::LimitQuery('team', array(
'condition' => $oc,
'order' => 'ORDER BY `sort_order` DESC, `id` DESC',
'size' => $size,
));
if(count($teams) == 1) return array_pop($teams);
return $teams;
}

需要在index.php页面中增加一个
$selector_p=$p=addslashes($_GET['p']);方面当前价格的高亮。
结合以上几点,即可实现最土团购ZuituGo_CV2.0_20111231 商业版的价格排序功能。

 
反对 0举报 0 评论 0
 

免责声明:本文仅代表作者个人观点,与乐学笔记(本网)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
    本网站有部分内容均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,若因作品内容、知识产权、版权和其他问题,请及时提供相关证明等材料并与我们留言联系,本网站将在规定时间内给予删除等相关处理.

点击排行