
- 帖子
- 27
- 积分
- 101
- 体力
- 27 点
- 金币
- 60
- 威望
- 0
- 来自
- yuelaoban.com
|

[已解决] 首页调用商品分类的文章,如何修改为“按照最后更新时间,降序”排列
本帖最后由 tcwdy 于 2013-6-22 00:07 编辑
我在网上搜集到了几点。做了如下修改,效果不错。
includes/lib.goods.php
-
- function index_get_cat_id_goods_best_list($cat_id = '', $num = '')
- {
- $sql = 'Select g.goods_id, g.cat_id,c.parent_id, g.goods_name, g.goods_name_style, g.market_price, g.shop_price AS org_price, g.promote_price, ' .
- "IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price, ".
- "promote_start_date, promote_end_date, g.goods_brief, g.goods_thumb, goods_img, " .
- "g.is_best, g.is_new, g.is_hot, g.is_promote " .
- 'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g ' .
- 'LEFT JOIN ' . $GLOBALS['ecs']->table('category') . ' AS c ON c.cat_id = g.cat_id ' .
- "LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ".
- "ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ".
- "Where g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 ".
- $sql .= " AND (c.parent_id =" . $cat_id. " OR g.cat_id = " . $cat_id ." OR g.cat_id ". db_create_in(array_unique(array_merge(array($cat_id), array_keys(cat_list($cat_id, 0, false))))) .")";
- $sql .= " LIMIT $num";
- $res = $GLOBALS['db']->getAll($sql);
- $goods = array();
- foreach ($res AS $idx => $row)
- {
- $goods[$idx]['id'] = $row['article_id'];
- $goods[$idx]['id'] = $row['goods_id'];
- $goods[$idx]['name'] = $row['goods_name'];
- $goods[$idx]['brief'] = $row['goods_brief'];
- $goods[$idx]['brand_name'] = $row['brand_name'];
- $goods[$idx]['goods_style_name'] = add_style($row['goods_name'],$row['goods_name_style']);
- $goods[$idx]['short_name'] = $GLOBALS['_CFG']['goods_name_length'] > 0 ?
- sub_str($row['goods_name'], $GLOBALS['_CFG']['goods_name_length']) : $row['goods_name'];
- $goods[$idx]['short_style_name'] = add_style($goods[$idx]['short_name'],$row['goods_name_style']);
- $goods[$idx]['market_price'] = price_format($row['market_price']);
- $goods[$idx]['shop_price'] = price_format($row['shop_price']);
- $goods[$idx]['thumb'] = empty($row['goods_thumb']) ? $GLOBALS['_CFG']['no_picture'] : $row['goods_thumb'];
- $goods[$idx]['goods_img'] = empty($row['goods_img']) ? $GLOBALS['_CFG']['no_picture'] : $row['goods_img'];
- $goods[$idx]['url'] = build_uri('goods', array('gid' => $row['goods_id']), $row['goods_name']);
- }
- return $goods;
- }
复制代码
首页index.php 添加了几条
- $smarty->assign('cat_id123_best_goods', index_get_cat_id_goods_best_list(123,4)); // 这里是哥们自己添加的
- $smarty->assign('cat_id124_best_goods', index_get_cat_id_goods_best_list(124,4)); // 这里是哥们自己添加的
- $smarty->assign('cat_id125_best_goods', index_get_cat_id_goods_best_list(125,4)); // 这里是哥们自己添加的
- $smarty->assign('cat_id134_best_goods', index_get_cat_id_goods_best_list(134,4)); // 这里是哥们自己添加的
复制代码
模版文件做了如下类似修改
-
- <!--{foreach from=$cat_id123_best_goods item=goods}-->
- <DIV class="left">
- <DIV class="gmg" id="four_017"><A
- href="{$goods.url}" title="{$goods.name|escape:html}" target="_blank" class="gn mbt10">{$goods.short_style_name}</A><A href="{$goods.url}" target="_blank"
- class="gi"><IMG
- src="{$goods.thumb}" alt="{$goods.name|escape:html}" width="179" height="145"></A>
- <DIV class="gp1"><SPAN class="shop_price"><B>{$goods.shop_price}</B></SPAN><SPAN class="buy"><A
- href="{$goods.url}" target="_blank">立即购买</A></SPAN>
- <DIV class="clear"></DIV></DIV>
- <DIV class="gp"><SPAN class="shop_price">商场价<B>{$goods.market_price}</B> </SPAN>
- </DIV></DIV></DIV>
- <!-- { /foreach }-->
复制代码
效果很好。可是问题来了,排序是从上架日期排序的。如何修改为“按照最后更新时间,降序”排列呢?坐等答案!
世道变了啊。我C......
哥们去淘宝找人花了20元搞定了。 你妹妹 我也看不懂那个哥们加了啥东西。我全部发上来,大家复制到lib_goods.php 即可实现自定义商品降序排列!!!- //这段是自己加的哦
- function index_get_cat_id_goods_best_list($cat_id = '', $num = '')
- {
- $sql = 'Select g.goods_id, g.cat_id,c.parent_id, g.goods_name, g.goods_name_style, g.market_price, g.shop_price AS org_price, g.promote_price, ' .
- "IFNULL(mp.user_price, g.shop_price * '$_SESSION[discount]') AS shop_price, ".
- "promote_start_date, promote_end_date, g.goods_brief, g.goods_thumb, goods_img, " .
- "g.is_best, g.is_new, g.is_hot, g.is_promote " .
- 'FROM ' . $GLOBALS['ecs']->table('goods') . ' AS g ' .
- 'LEFT JOIN ' . $GLOBALS['ecs']->table('category') . ' AS c ON c.cat_id = g.cat_id ' .
- "LEFT JOIN " . $GLOBALS['ecs']->table('member_price') . " AS mp ".
- "ON mp.goods_id = g.goods_id AND mp.user_rank = '$_SESSION[user_rank]' ".
- "Where g.is_on_sale = 1 AND g.is_alone_sale = 1 AND g.is_delete = 0 ".
- $sql .= " AND (c.parent_id =" . $cat_id. " OR g.cat_id = " . $cat_id ." OR g.cat_id ". db_create_in(array_unique(array_merge(array($cat_id), array_keys(cat_list($cat_id, 0, false))))) .")";
- $sql .= " ORDER BY g.goods_id DESC LIMIT $num";
- $res = $GLOBALS['db']->getAll($sql);
- $goods = array();
- foreach ($res AS $idx => $row)
- {
- $goods[$idx]['id'] = $row['article_id'];
- $goods[$idx]['id'] = $row['goods_id'];
- $goods[$idx]['name'] = $row['goods_name'];
- $goods[$idx]['brief'] = $row['goods_brief'];
- $goods[$idx]['brand_name'] = $row['brand_name'];
- $goods[$idx]['goods_style_name'] = add_style($row['goods_name'],$row['goods_name_style']);
- $goods[$idx]['short_name'] = $GLOBALS['_CFG']['goods_name_length'] > 0 ?
- sub_str($row['goods_name'], $GLOBALS['_CFG']['goods_name_length']) : $row['goods_name'];
- $goods[$idx]['short_style_name'] = add_style($goods[$idx]['short_name'],$row['goods_name_style']);
- $goods[$idx]['market_price'] = price_format($row['market_price']);
- $goods[$idx]['shop_price'] = price_format($row['shop_price']);
- $goods[$idx]['thumb'] = empty($row['goods_thumb']) ? $GLOBALS['_CFG']['no_picture'] : $row['goods_thumb'];
- $goods[$idx]['goods_img'] = empty($row['goods_img']) ? $GLOBALS['_CFG']['no_picture'] : $row['goods_img'];
- $goods[$idx]['url'] = build_uri('goods', array('gid' => $row['goods_id']), $row['goods_name']);
- }
- return $goods;
- }
复制代码 |
|