在ecshop上顯示ecshop當前會員等級距離下一等級差多少積分,這個功能很實用。最模板分享給大家:
if ($rank = get_rank_info())
{
$smarty->assign('rank_name', sprintf($_LANG['your_level'], $rank['rank_name']));
if (!empty($rank['next_rank_name']))
{
$smarty->assign('next_rank_name', sprintf($_LANG['next_level'], $rank['next_rank'] ,$rank['next_rank_name']));
}
}
再增加get_rank_info 函數代碼
function get_rank_info()
{
global $db,$ecs;
if (!empty($_SESSION['user_rank']))
{
$sql = "SELECT rank_name, special_rank FROM " . $ecs->table('user_rank') . " WHERE rank_id = '$_SESSION[user_rank]'";
$row = $db->getRow($sql);
if (empty($row))
{
return array();
}
$rank_name = $row['rank_name'];
if ($row['special_rank'])
{
return array('rank_name'=>$rank_name);
}
else
{
// zuimoban.com
$user_rank = $db->getOne("SELECT pay_points FROM " . $ecs->table('users') . " WHERE user_id = '$_SESSION[user_id]'");
$sql = "SELECT rank_name,min_points FROM " . $ecs->table('user_rank') . " WHERE min_points > '$user_rank' ORDER BY min_points ASC LIMIT 1";
$rt = $db->getRow($sql);
$next_rank_name = $rt['rank_name'];
$next_rank = $rt['min_points'] - $user_rank;
return array('rank_name'=>$rank_name,'next_rank_name'=>$next_rank_name,'next_rank'=>$next_rank);
}
}
else
{
return array();
}
}
再在語言庫里增加相應的語言中文,插入到模板里next_rank_name 貼這個標簽功能就實現了!
新聞熱點
疑難解答