一、添加菜單項
打開 /admin/includes/inc_menu.php文件(後臺框架左邊菜單),在最後添加一行如下:
1$modules['17_other_menu']['sns_list'] = 'sns_list.php?act=list';
ecshop默認一級菜單項有16項,所裏這裏的例子從17開始。當然這個key可以隨便取的,index.php文件中對菜單用了ksort排序。“17_other_menu” 表示一級菜單,“sns_list”表示二級菜單。等號後面的值表示該菜單欄目打開的頁面鏈接。
二、配置菜單語言
打開 /languages/zh_cn/admin/common.php文件,添加語言
1$_LANG['17_other_menu'] = '其它設置';
2$_LANG['sns_list'] = 'SNS管理';
這時候,用管理員身份(admin用戶)登錄後臺,便可看到新添加的菜單項了。因爲admin的權限是“all”。如果後臺有多個管理員,比如ecshop商城的供貨商們,或者其它管理人員(由admin創建的其它可登陸後臺的賬戶),如果想讓他們也擁有新添加菜單的查看權利,則必須爲他們分配該欄目的管理權限。
三、把新菜單加入權限列表
打開 /languages/zh_cn/admin/priv_action.php文件,在“權限管理的一級分組”註釋行下面添加如下代碼
1$_LANG['other_manager'] = '其它設置';
這裏的“other_manager”是該一級欄目的權限名稱,這裏和欄目名稱“17_other_menu”保持一致,也可以隨便取個名。這裏以示區別,就沒有和菜單名一樣。
然後,添加二級欄目“sns_list”的權限名稱。在本文件的最後添加即可
1//其它管理
2$_LANG['sns_list'] = 'SNS管理';
這裏這個權限名稱和二級菜單名是一致的。這兩項現在在哪裏呢?如下圖
四、把一級菜單和二級菜單的權限關聯起來
Ecshop:後臺添加新欄目打開數據庫,看到{pre}_admin_action表,新增兩行數據。如下圖
截圖中第1列數據是action_id,是該表的自增主鍵。第2列數據是parent_id,來自上級的action_id。第3列數據就是step3中定義的權限名(鍵)。這樣的話,兩種權限就聯繫起來了。到這裏,打開後臺“管理員列表”,點擊“分派權限”的圖標,便可以看到step3示圖所示權限了。用某後臺用戶勾選提交,該用戶登陸後就能看到新增的菜單項了。\
mysql語句:
INSERT INTO .`admin_action` ( `action_id` , `parent_id` , `action_code` , `relevance` ) VALUES ( NULL , '6', 'shipment_view', '' );