广州传奇网络

地址:广州市天河区东圃大马路富华楼C座

电话:13808825895

邮箱:gz020wbs@163.com

QQ:1564443073

网址:http://www.020wbs.com/

首页 > 二次开发Ecshop二次开发 > ECshop二次开发之订单操作权限的添加

二次开发Ecshop二次开发

二次开发Ecshop二次开发

ECshop二次开发之订单操作权限的添加

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,红包管理

三 订单操作权限的开发

上面提到的权限列表是我们比较常用的一些,我们具体来看下针对订单操作权限,主要是

order_os_edit,编辑订单状态
order_ps_edit,编辑付款状态
order_ss_edit,编辑发货状态
order_edit,添加编辑订单
order_view,查看未完成订单

假如我们某一个管理员需要”PDF打印订单”权限,(假设”PDF打印”功能已经实现),我们来看以下具体的操作步骤

1.首先在数据库ecs_admin_action中插入一行code为”pdf_manage”,parents_id为6(sql语句)

2.在language/admin/priv_action.php中找到”//订单管理部分权限”,在下面新加一行
$_LANG['pdf_manage'] = ‘PDF打印管理’;
3.在后台编辑某管理员权限页面,我们可以看到这个选项,分配给他。

当然这个时候该管理员还没有真正拥有这个权限。打开admin/order.php 搜索$priv_list(大概在2950行)
修改代码为以下部分:

/* 取得订单操作权限 */
$actions = $_SESSION['action_list'];
if ($actions == ‘all’)
{
$priv_list  = array(’os’ => true, ’ss’ => true, ‘ps’ => true, ‘edit’ => true,‘pdf_manage’=>true);
//如果是拥有所有权限(比如admin),分配他PDF打印权限,当然如果你希望是特定的某一个人,这行可以不加
}
else
{
$actions    = ‘,’ . $actions . ‘,’;
$priv_list  = array(
‘os’    => strpos($actions, ‘,order_os_edit,’) !== false,
’ss’    => strpos($actions, ‘,order_ss_edit,’) !== false,
‘ps’    => strpos($actions, ‘,order_ps_edit,’) !== false,
‘edit’  => strpos($actions, ‘,order_edit,’) !== false,
‘pdf_manage’  => strpos($actions, ‘,pdf_manage,’) !== false

);
}
if ($priv_list['pdf_manage'])
{
$list['pdf_manage']    = true; // 确认
}
最后,在模板admin/templates/order_info.htm中找到合适的位置添加如下代码:
{if $operable_list.pdf_manage}
<input name=”pdf_creat” type=”submit” value=”{$lang.pdf_creat}” class=”button” />
{/if}
    好了一次简单的”订单操作权限”扩展功能就完成了,接下来该好好的整理一下自己,以更好的准备下一步:测试将花费更多的时间以保证你所做的一切是可用的,这个更重要~!