商品列表里怎么样显示会员价格?

2016-07-07 16:04 来源:www.chinab4c.com 作者:ecshop专家

顶起来。谁来帮助我

回答:
我也须要,帮顶

再说一次我需要

我们的程序中,本店价格就是会员价格(登录后,价格会自动更改)

晓天说的对。
楼主你这么改后,没有什么意义
会员未登录前,列表页的本店售价就是原来的本店价格
会员登录后,列表页的本店售价其实就变成会员价了,你这样改后,相当于把会员价显示了两次



这个问题是因为你后台还没有进行会员等级的查询
具体操作如下

1) 打开根目录下的 category.php 搜索

$arr[$row['goods_id']]['url']= build_uri('goods', array('gid'=>$row['goods_id']), $row['goods_name']);

在它下面一行加入

$arr[$row['goods_id']]['rank_prices']=get_user_rank_prices($row['goods_id'], $row['shop_price']); //会员等级价格***

2) 搜索
return $arr;
}

在它的下面加入

/**
* 获得指定商品的各会员等级对应的价格
*
* @accesspublic
* @paraminteger$goods_id
* @returnarray
*/
function get_user_rank_prices($goods_id, $shop_price)
{
$sql = "SELECT rank_id, IFNULL(mp.user_price, r.discount * $shop_price / 100) AS price, r.rank_name, r.discount " .
'FROM ' . $GLOBALS['ecs']->table('user_rank') . ' AS r ' .
'LEFT JOIN ' . $GLOBALS['ecs']->table('member_price') . " AS mp ".
"ON mp.goods_id = '$goods_id' AND mp.user_rank = r.rank_id " .
"WHERE r.show_price = 1 OR r.rank_id = '$_SESSION[user_rank]'";
$res = $GLOBALS['db']->query($sql);

$arr = array();
while ($row = $GLOBALS['db']->fetchRow($res))
{

$arr[$row['rank_id']] = array(
'rank_name' => htmlspecialchars($row['rank_name']),
'price'=> price_format($row['price']));
}

return $arr;
}

3 ) 打开在模板页面 goods_list.lbi 添加到市场价格后面

<!-- {foreach from=$goods.rank_prices item=rank_prices key=key} -->
<!-- {if $key==4} -->
{$rank_prices.rank_name}:<fontclass="goods-price">{$rank_prices.price}</font><br />
<!-- {/if} -->
<!--{/foreach}-->

4) <!-- {if $key==4} --><!-- {/if} --> 这2句的功能是显示对应ID的价格 ,可以去掉


如果还有什么不清楚的,请访问 大鱼互联 http://www.dy023.com 给我留言,我会免费耐心解答

强烈支持。。。。

我也须要,帮顶

我这个问题和你的差不多
http://bbs.ecshop.com/thread-160241-1-2.html

搞不出来没反应

我也须要,帮顶



商品列表是没有问题了,但是如何在搜索列表里也这样显示呢??

http://www.ershoes.com/ 看看不是这个效果!