由于会员管理权限里面就包括会员添加和查看会员列表。但是这次开发需要只有会员添加权限,不允许看到其他会员的任何信息,所以才会有这两天的菜鸟级开发。希望对菜鸟级的人有用,因为在网上搜的帖子很模糊。
======先转发某人写的权限详细内容==========
一 基础知识
首先我们需要了解以下一些基本的知识:
1.ECshop的所有可用权限列表存储在数据库’ecs_admin_action’表中
2.权限判断通过admin_priv函数实现
3.管理员的权限设置可以通过后台编辑管理员信息来分配
二 权限详解
1、商品管理,共有9个权限项目,以下分别是:
goods_manage,商品添加/编辑
remove_back,商品删除/恢复
cat_manage,分类添加/编辑
cat_drop,分类转移/删除
attr_manage,商品属性管理
brand_manage,商品品牌管理
comment_priv,用户评论管理
tag_manage,标签管理
goods_type,商品类型
2、文章管理,共有6个权限项目,以下分别是:
article_cat,文章分类管理
article_manage,文章内容管理
shopinfo_manage,网店信息管理
shophelp_manage,网店帮助管理
vote_priv,在线调查管理
topic_manage,专题管理
3、会员管理,共有8个权限项目,以下分别是:
feedback_priv,会员留言管理
integrate_users,会员数据整合
sync_users,同步会员数据
users_manage,会员管理
users_drop,会员删除
user_rank,会员等级管理
surplus_manage,会员余额管理
account_manage,会员账户管理
4、权限管理,共有7个权限项目,以下分别是:
template_manage,模板管理
admin_manage,管理员添加/编辑
admin_drop,删除管理员
allot_priv,分派权限
logs_manage,管理日志列表
logs_drop,删除管理日志
agency_manage,办事处管理
5、系统设置,共有9个权限项目,以下分别是:
shop_config,商店设置
ship_manage, 配送方式管理
payment,支付方式管理
shiparea_manage,配送区域管理
area_manage,地区列表管理
friendlink,友情链接管理
db_backup,数据库备份
db_renew,数据库恢复
flash_manage,Flash 播放器管理
6、订单管理,共有10个权限项目,以下分别是:
order_os_edit,编辑订单状态
order_ps_edit,编辑付款状态
order_ss_edit,编辑发货状态
order_edit,添加编辑订单
order_view,查看未完成订单
order_view_finished,查看已完成订单
repay_manage,退款申请管理
booking,缺货登记管理
sale_order_stats,订单销售统计
client_flow_stats,客户流量统计
7、促销管理,共有6个权限项目,以下分别是:
snatch_manage,夺宝奇兵
ad_manage,广告管理
gift_manage,赠品管理
card_manage,祝福贺卡
pack,商品包装
bonus_manage,红包管理
============================
下面开始制作
1、数据库写入 insert into ecs_admin_action(parent_id,action_code) vals(3,'user_add')
(3为会员管理的ID,后面为要设置的新权限名称)
2、在lang ges/zh_cn/admin/priv_action.php中找到”//会员管理” 插入
$_LANG['user_add'] = '添加诚购人';
(这个是为了使得在分配权限的时候,显示这一项的名称)
3、
(1)、在lang ges\zh_cn\admin\common.php找到会员管理,插入$_LANG['11_user_add'] = '添加诚购人';
(这个是为了在管理平台左侧管理列表中显示这一项)
(2)、admin/incl?s/inc_menu.php 文件中添加对应的二级栏目的数组链接
$modules['08_members']['11_user_add'] = 'users.php?act=addMgod';
(3)、打开admin/incl?s/inc_priv.php 找到“会员权限管理”添加一行$purview
['11_user_add'] = 'user_add';
4、权限问题
由于权限判断在admin\incl?s\lib_main.php里,当权限判断失败,则返回FALSE并跳转上一页面,
如果将function admin_priv($priv_str, $msg_type = '' , $msg_output = tr)中$msg_output参数改
为false,则不进行跳转,但是要想实现跳转功能,则需要再各种控制权限的地方做跳转功能,很麻烦。
(1)、于是想到了个傻办法,打开admin\users.php,找到“添加会员帐号”,会发现里面第一行就是“
检查权限”,也就是说在验证完权限失败后将直接跳过这个语句块,所以干脆并将整个elseif段复制下来
,粘贴后改为
//-- 自定义添加会员帐号,MGOD
elseif ($_REQST['act'] == 'addMgod')
{
admin_priv('user_add'); //这个对应插入数据库中的user_add
$user = array( 'rank_points' => $_CFG['register_points'],
'pay_points' => $_CFG['register_points'],
'sex' => 0,
'credit_line' => 0
);
$sql = 'SELECT * FROM ' . $ecs->table('reg_fields') . ' WHERE type < 2 AND display = 1
AND id != 6 ORDER BY dis_order, id';
$extend_info_list = $db->getAll($sql);
$smarty->assign('extend_info_list', $extend_info_list);
$smarty->assign('ur_here', $_LANG['11_user_add']);//对应上
$smarty->assign('action_link', array('text' => $_LANG['11_user_add'], //对应
上'href'=>'index.php?act=menu'));
$smarty->assign('form_action', 'insertMgod');//一会在INSERT方法上也要做手脚
$smarty->assign('user', $user);
$smarty->assign('special_ranks', get_rank_list(tr));
assign_qry_info();
$smarty->display('user_info.htm');//输出到哪个admin\templates文件中,这里不用改,一会直
接打开模板做修改
}
(2)、再将“添加会员帐号”的esleif语句块复制并将第一行admin_priv('users_manage');改为同上面
一样的admin_priv('user_add'); 验证。
(3)、打开admin\templates\user_info.htm,如果这里不修改,则上面添加会员功能实现了,但是无输
入密码框。搜索{if $form_action eq "insert"},改为{if $form_action eq "insert"||$form_action
eq "insertMgod"} ,使得跟上面 $smarty->assign('form_action', 'insertMgod');里的内容
一样。
打完收工!抛砖引玉,以此类推!由于本站还没完全做好,所以不做任何广告~~拿去用吧!