2016年5月12日星期四

ECSHOP 如何开发一个模块后台管理

就以在公司网站做的一个功能为例子:要与第三方平台进行积分迁移与兑换。此时需要增加一个后台管理功能:1)查看与搜索相关记录。2)添加与编辑相关记录。

当用 ECSHOP 添加一个后台功能时,会涉及到添加和修改一些文件。如下图,

说明:guatenghui 是系统 ECSHOP 的目录。rate_info_list.php,rate_list.htm,rate_info.htm 是新增主文件和模板。inc_menu.php,inc_priv.php 则是控制后台菜单和权限的文件。common.php,rate_info_list.php,priv_action.php 则是语言文件。






一、开发管理后台功能关键一步是添加菜单和权限

添加菜单主要在 admin\includes\inc_menu.php 文件中(图2)。菜单语言文件则在 languages\zh_cn\admin\common.php 中(图3)


图2


图3

这样后台导航栏就会增加一个主菜单以及3个子菜单。



添加权限主要在 admin\includes\inc_priv.php 文件中。数组的键要和 admin\includes\inc_menu.php 键相对应(图2)。



权限的值还需要插入表 ecs_admin_action 中。



最后再 languages\zh_cn\admin\priv_action.php 中添加语言描述。


这样,菜单和权限就添加完毕了。



二、PHP 文件验证权限。

    /* 权限判断,直接请求 */
    admin_priv('rate_info_manage');

    /* 权限判断,请求为 AJAX 时 */
    check_authz_json('rate_info_manage');

三、至于主文件和模板直接复制过来改改就可以了。

源码下载:https://yunpan.cn/cPaDHkUBhhJ3h  访问密码 2b4d

四、一些注意的地方。不要忘记记录操作日志。

    /* 如:记录管理员操作,删除会员帐号 */
    admin_log(addslashes($username), 'remove', 'users');

    /* 后台一些常用到函数。详细信息可以查 ECSHOP 源代码说明*/

    // 返回提示信息
    $lnk[] = array('text' => $_LANG['go_back'], 'href'=>'users.php?act=list');

    sys_msg($_LANG['no_select_user'], 0, $lnk);

    //AJAX 请求时,返回错误提示信息
    make_json_error($msg);
  
    //AJAX 请求时,返回查询结果
    make_json_result($smarty->fetch('rate_list.htm'), '',

        array('filter' => $rate_list['filter'], 'page_count' => $rate_list['page_count']));
   

没有评论:

发表评论