首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

ECSHOP 後台模組開發完整流程:以支付管理為例

     編輯:PHP 相關知識

開發五步驟總覽

  1. 建立資料表
  2. 加入左側導航與語言包
  3. 配置權限體系
  4. 實作 CRUD(增刪查改)
  5. 擴充功能:複製、搜尋、排序、轉移、AJAX

實作範例:支付管理模組

Step 1:建立資料表

使用 phpMyAdmin 建立 ecs_pay 表,欄位包含 pay_id、pay_name、account、balance、add_time 等。

Step 2:導航與語言包(修改 4 支檔案)

// 1. languages/zh_cn/admin/common.php
// 選單分類
$_LANG['18_pay'] = '支付管理';
// 子選單
$_LANG['02_pay_list'] = '支付人信息';
$_LANG['03_pay_charge'] = '賬戶充值';
$_LANG['04_pay_record'] = '流水記賬';

// 2. admin/includes/inc_menu.php
$modules['18_pay']['02_pay_list'] = 'pay.php?act=list';
$modules['18_pay']['03_pay_charge'] = 'pay.php?act=charge';
$modules['18_pay']['04_pay_record'] = 'pay.php?act=record';

Step 3:權限配置

// 3.1 ecs_admin_action 表插入資料
-- 頂層權限
INSERT INTO ecs_admin_action (action_id, parent_id, action_code, action_name) VALUES (136, 0, 'pay', '支付管理');
-- 子權限
INSERT INTO ecs_admin_action (action_id, parent_id, action_code, action_name) VALUES (137, 136, 'pay_manage', '支付添加/編輯');
INSERT INTO ecs_admin_action (action_id, parent_id, action_code, action_name) VALUES (138, 136, 'pay_drop', '支付刪除');

// 3.2 languages/zh_cn/admin/priv_action.php
$_LANG['pay'] = '支付管理';
$_LANG['pay_manage'] = '支付添加/編輯';
$_LANG['pay_drop'] = '支付刪除';

// 3.3 admin/includes/inc_priv.php
$purview['02_pay_list'] = array('pay_manage', 'pay_drop');
$purview['03_pay_charge'] = 'pay_manage';
$purview['04_pay_record'] = 'pay_manage';

Step 4:CRUD 核心程式碼 (pay.php)

/* 新增 */
if ($_REQUEST['act'] == 'add') {
    admin_priv('pay_manage'); // 權限檢查
    // 顯示表單...
}

/* 寫入 */
if ($_REQUEST['act'] == 'insert') {
    admin_priv('pay_manage');
    $sql = "INSERT INTO " . $ecs->table('pay') . " (pay_name, account) VALUES ('$_POST[pay_name]', '$_POST[account]')";
    $db->query($sql);
    admin_log($_POST['pay_name'], 'add', 'pay');
    clear_cache_files();
    sys_msg($_LANG['add_succeed'], 0, $link);
}

/* 列表 */
if ($_REQUEST['act'] == 'list') {
    admin_priv('pay_manage');
    $sql = "SELECT * FROM " . $ecs->table('pay');
    $res = $db->getAll($sql);
    $smarty->assign('pay_list', $res);
    assign_query_info();
    $smarty->display('pay_list.dwt');
}

/* 刪除 */
if ($_REQUEST['act'] == 'drop') {
    admin_priv('pay_drop');
    $sql = "DELETE FROM " . $ecs->table('pay') . " WHERE pay_id = '$_REQUEST[id]'";
    $db->query($sql);
    admin_log($_REQUEST['id'], 'drop', 'pay');
    clear_cache_files();
    $url = 'pay.php?act=list';
    ecs_header("Location: $url\n");
    exit;
}

Step 5:模板檔案

  • pay_list.dwt:列表頁,含搜尋、分頁、操作按鈕
  • pay_info.dwt:新增/編輯表單

關鍵函式說明

  • admin_priv($priv):驗證管理員是否擁有指定權限
  • admin_log($name, $action, $type):記錄管理員操作日誌
  • clear_cache_files():清除模板快取
  • sys_msg($msg, $type, $links):系統提示訊息
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved