zoukankan      html  css  js  c++  java
  • (转)ECshop会员添加权限的开发教程

    由于会员管理权限里面就包括会员添加和查看会员列表。但是这次开发需要只有会员添加权限,不允许看到其他会员的任何信息,所以才会有这两天的菜鸟级开发。希望对菜鸟级的人有用,因为在网上搜的帖子很模糊。
     
    ======先转发某人写的权限详细内容==========
    一 基础知识
     
    首先我们需要了解以下一些基本的知识:
    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');里的内容
     
    一样。
     
    打完收工!抛砖引玉,以此类推!由于本站还没完全做好,所以不做任何广告~~拿去用吧!
  • 相关阅读:
    对文本抽取词袋模型特征
    jieba分词
    家用电器用户行为分析与事件识别
    Linux系统调用:创建和终止进程
    Linux系统调用:获取进程PID
    使用函数指针解决函数重载二义性调用问题
    C++ string基本操作
    有界深度优先搜索-八数码问题
    数据传送指令
    x86-64数据格式、通用寄存器与操作数格式
  • 原文地址:https://www.cnblogs.com/ybbqg/p/2405499.html
Copyright © 2011-2022 走看看