ecshop当前会员等级距离下一等级差多少积分显示
2014-04-01 15:47
519 查看
ecshop2.7.3在用户中心页面上显示当前会员等级以及距离下一等级差多少积分。
1、修改更目录下的user.php文件,找到如下代码(大约在93行左右):
//用户中心欢迎页
if ($action == 'default')
{
include_once(ROOT_PATH .'includes/lib_clips.php');
在这段代码的下方增加如下代码:
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']));
}
}
2、修改includes/lib_clips.php文件,在文件的末尾增加如下代码:
/*
* 取得用户等级信息
*/
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
{
$user_rank = $db->getOne("SELECT rank_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();
}
}
3、增加语言项,打开languages/zh_cn/user.php,在找到
$_LANG['your_integral'] = '积分';
(约在447行),在这行的下面增加下面的代码:
$_LANG['your_level'] = '您是%s';
$_LANG['next_level'] = ',积分累计到%s分即可申请%s ';
说明:上面的汉字可以根据实际需要修改。
4、打开用户中心模板文件 themes/default/user_clips.dwt (这里假设用的是默认模板),在需要的位置插入:
{$rank_name} {$next_rank_name}
这样就会显示如何格式的提示信息了:
您是普通会员,积分累计到1000分即可申请VIP会员。
1、修改更目录下的user.php文件,找到如下代码(大约在93行左右):
//用户中心欢迎页
if ($action == 'default')
{
include_once(ROOT_PATH .'includes/lib_clips.php');
在这段代码的下方增加如下代码:
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']));
}
}
2、修改includes/lib_clips.php文件,在文件的末尾增加如下代码:
/*
* 取得用户等级信息
*/
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
{
$user_rank = $db->getOne("SELECT rank_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();
}
}
3、增加语言项,打开languages/zh_cn/user.php,在找到
$_LANG['your_integral'] = '积分';
(约在447行),在这行的下面增加下面的代码:
$_LANG['your_level'] = '您是%s';
$_LANG['next_level'] = ',积分累计到%s分即可申请%s ';
说明:上面的汉字可以根据实际需要修改。
4、打开用户中心模板文件 themes/default/user_clips.dwt (这里假设用的是默认模板),在需要的位置插入:
{$rank_name} {$next_rank_name}
这样就会显示如何格式的提示信息了:
您是普通会员,积分累计到1000分即可申请VIP会员。
相关文章推荐
- linux下简单的timer实现
- CentOS-6.5-x86_64安装文件
- 定义属性读写访问器的错误
- phpmyadmin后台4种拿shell方法 && php爆路径大法
- linux编程原理之――socket
- sudo命令执行时的工作原理
- 汇编和C同步使用(Linux下编译ELF)
- tomcat多实例的情况,分别输出日志配置
- linux fork 函数目的
- 使用 Crash 工具分析 Linux dump 文件
- KDevelop开发经验,一个容易出错的地方。
- HibernateException: Illegal attempt to associate a collection with two open sessions
- linux下信号机制
- linux svn切换用户
- 配置NFS
- Linux:-bash: ***: command not found,系统很多命令都用不了,均提
- 采用gSOAP开发包开发 SOAPServer 和 SOAPClient 的简单示例
- hadoop1HDFS的读写过程源码解析
- 淘宝海量数据产品的技术架构
- (一)Openstack系列之 如何修改 并且调试 观察效果