ECSHOP后台二次开发教程(一)

一、建数据库

二、添加到后台导航栏并配置相关语言包
三、权限配置
四、添加增删查改
五、增加其他功能(复制,搜索(暂时调不出来页面),排序,转移,AJAX)

以添加支付信息模块为例

第一步首先我们用phpmyadmin建一个支付表,表名:ecs_pay表字段:pay_id,pay_name,pay_info,pay_bank,pay_credit,pay_state第二步添加到后台左侧导航栏并配置权限和相关语言包
共修改四个文件inc_priv.php、   inc_menu.php 、priv_action.php、common.php

1.打开languages\zh_cn\admin\common.php
找到/* 菜单分类部分 */ 添加   
$_LANG['18_pay'] = '支付管理';

文件末尾添加
/* 支付管理 */
$_LANG['02_pay_list'] = '支付人信息';
$_LANG['03_pay_charge'] = '账户充值';
$_LANG['04_pay_record'] = '流水记账';

配其他相关的语言包
$_LANG['pay_name'] = '支付人';
$_LANG['pay_info'] = '支付信息';
$_LANG['pay_bank'] = '开户银行';
$_LANG['pay_credit'] = '开户账号';
$_LANG['pay_state'] = '状态';

2.打开admin\includes\inc_menu.php
末尾添加
$modules['18_pay']['02_pay_info']     = 'pay.php?act=list';
$modules['18_pay']['03_pay_charge'] = 'pay.php?act=charge';
$modules['18_pay']['04_pay_record']     = 'pay.php?act=record';

OK,菜单栏显示

第三步
配置权限体系(priv_action.php ,inc_priv.php)
1.在表ecs_admin_action 里面添加模块字段pay 、pay_manage、 pay_drop
parent_id = 0的为顶级栏目,其他子栏目的操作,都继承了parent_id 和顶级栏目关联起来.(注意action_id  和parent_id 的关系 )
添加一个顶级栏目   pay action_id为136   parent_id 为0;
   其下子栏目   pay_manage        parent_id 为136;
              pay_drop           parent_id 为136;

2.打开languages\zh_cn\admin\priv_action.php
/* 权限管理的一级分组 */下添加
$_LANG['pay']       = '支付管理';
末尾添加
//支付管理
$_LANG['pay_manage'] = '支付添加/编辑';
$_LANG['pay_drop'] = '支付删除';

3.打开admin\includes\inc_priv.php
末尾添加
//支付管理
$purview['02_pay_info']       = array('pay_manage', 'pay_drop');
$purview['03_pay_charge']        = 'pay_manage';
$purview['04_pay_record']    = 'pay_manage';

第四步,添加基本的增删改查功能
建四个文件 pay.php、pay_list、pay_info、pay_search
.添加“增加”功能
/*------------------------------------------------------ */
//-- 添加支付人信息
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'add')
{
/* 权限判断 */
// admin_priv('pay_manage');

/*初始化*/
$smarty->assign('ur_here', $_LANG['pay_name_add']);
//$smarty->assign('action_link', array('text' => $_LANG['pay_name_add'], 'href' => 'pay.php?act=list'));
    $smarty->assign('form', 'insert');
assign_query_info();
$smarty->display('pay_info.htm');
}

/*------------------------------------------------------ */
//-- 添加支付人信息
/*------------------------------------------------------ */
if ($_REQUEST['act'] == 'insert')
{
/* 权限判断 */
//admin_priv('pay_manage');

/*检查是否重复*/
$is_only = $exc->is_only('pay_id', $_POST['pay_id'],0, " pay_id ='$_POST[pay_id]'");

if (!$is_only)
{
       sys_msg($_LANG['goods_exist'], 1);
}

/*插入数据*/
if (empty($_POST['pay_id']))
{
       $_POST['pay_id'] = 0;
}
$sql = "INSERT INTO ".$ecs->table('pay')."(pay_id, pay_name,pay_info, pay_bank, pay_credit) ".
         "VALUES ('$_POST[pay_id]','$_POST[pay_name]', '$_POST[pay_info]', '$_POST[pay_bank]', '$_POST[pay_credit]')";

$db->query($sql);

$link[0]['text'] = $_LANG['back_list'];
$link[0]['href'] = 'pay.php?act=list';

$link[1]['text'] = $_LANG['pay_continue_add'];
$link[1]['href'] = 'pay.php?act=add';

admin_log($_POST['pay_id'],'add','exchange_goods');

clear_cache_files(); // 清除相关的缓存文件

sys_msg($_LANG['articleadd_succeed'],0, $link);
}

(首先是根据act传来的参数add,把参数insert赋值到smarty模板,放在在添加页面隐藏域中,更新也是如此)

1.根据传递过来的act的参数insert逻辑添加处理,(参数insert在添加页面的)

2.admin_priv函数判断是否具有权限,

3.$exc->is_only()判断自增号是否唯一(可去掉)

4.$db->query($sql)对数据库进行操作,

5.admin_log()函数记录操作信息

6.clear_cache_files();清除缓存

7.sys_msg()函数提示操作信息

(0)

相关推荐