关于商品列表不显示会员等级价格的解决办法

2016-07-07 15:29 来源: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 给我留言,我会免费耐心解答

回答:
支持一下
沙发 oy~~

希望对大家有帮助!

INTERNET EXLORE

嗯,很好用。

首页调用不出来哦