ecshop 選單顯示原理

2021-07-25 14:14:26 字數 2304 閱讀 2350

語言陣列,顯示名

$_lang['21_promote_user'] = '地推管理';

$_lang['promote_user_add'] = '地推人員列表';

$_lang['promote_user_list'] = '增加地推人員';

$_lang['fq_user_list'] = '發券人列表';

$_lang['fq_user_add'] = '增加發券人';

ecshop位置是在 languages/zh_cn/admin/conmon.php

$modules['21_promote_user']['promote_user_add'] = 'promote_user.php?   act=list';

$modules['21_promote_user']['fq_user_list'] = 'fq_user.php?act=list';

$modules['21_promote_user']['fq_user_add'] = 'fq_user.php?act=add';

其中 key值是選單標誌 ,兩個key說明是選單一級與二級, value是選單鏈結,

選單中文名字將key對應到語言陣列

key也是通過許可權陣列的value,能查出當前選單對應的許可權

ecshop的位置是在admin/includes/inc_menu.php

「` pur

view

[『pr

omot

euse

radd

′]=『

prom

oteu

sera

dd′;

//增加

地推人員

purview[『promote_user_list』] = 『promote_user_list』;//地推人員列 pu

rvie

w[『f

quse

rlis

t′]=

『fqu

serl

ist′

;//發

券人列表

purview[『fq_user_add』] = 『fq_user_add』;//增加發券人

key值對應許可權標誌,與許可權表(admin_action對應)

value 對應選單陣列的key,能查出這個許可權對

驗證許可權必須是admin_priv()函式,

如果只是單純的將選單隱藏,並沒有admin_priv()去驗證,許可權相當於沒有用上

「`qu

1、admin_action 許可權表 所有許可權都在這個表裡

2、adiin_user 管理員表 有個字段,記錄此管理員有多少許可權

用到的

1、許可權表(admin_action)

2、語言陣列

3、管理員表(admin_user)

一、總管理員給小管理員加許可權

二、在乙個介面,將許可權表遍歷出來,對應語言陣列顯示中文

三、勾選許可權,增加到管理員表的 許可權字段

遍歷選單陣列,然後用它的key匹配許可權陣列 

如果在許可權陣列裡能匹配到,判斷匹配的許可權是否在管理員所擁有的許可權裡

在就顯示選單,不再說明此選單對應的許可權,當前登入的管理員並沒有,不顯示

如果選單沒有匹配到許可權陣列,直接顯示選單(ecshop為顯示,講道理為不顯示)

ps:

管理員許可權:在管理員登陸就存在session裡

許可權陣列:應該與許可權資料表統一

顯示選單遍歷的只是陣列,與資料庫無互動,可減少響應時間

ecshop 在選單沒有匹配到許可權陣列也讓選單顯示,可能是因為怕本地許可權陣列與許可權表沒統一,導致應該有的選單許可權沒有顯示出來。

同時沒有許可權的選單陣列也顯示出來,這個沒關係,因為對於一些不在選單欄顯示的功能設定的許可權,需要再次驗證

1、**函式 admin_priv(「promote_user_add」)

2、管理員所擁有的許可權(session)

在執行某個功能時,這個功能需要管理員 擁有xx許可權才能執行

則在編碼時加上admin_priv(『xx』);

此函式會將當前管理員的許可權找出來(session),匹配到xx,代表能執行

比如:

選單欄 【提現列表】許可權,管理員a可以看到

提現列表有個【審核通過】並不顯示在選單欄中,

在執行審核通關過**之前 admin_priv(「審核通過」);判斷管理員a是否有審核通過許可權

跨框架iframe選單顯示

div 不能夠跨 iframe 顯示,可採用以下方式解決 leftiframe 選單 rightiframe 顯示具體內容 可以在leftiframe 包含的頁面中控制 rightiframe 中層的顯示和隱藏,將選單項寫到該層中並在適當的位置顯示,也可以使用 ajax 從資料庫中獲取選單項插入到該...

四級選單 顯示頭部層級導航

1.層級的顯示 情況 也是 開發工作中經常用到的 比如 我們現在在c介面 頭部層級顯示 a b c 我們在b頁面的時候顯示 a b 從c介面可以跳到 b也可以跳到 a介面 但是可能有這個問題 就是 我們從b跳轉到c的頁面中 通過介面 獲取到了 c的欄目名稱 和c的id 也獲取到了 他的父親欄目名稱和...

精簡漂亮的導航浮動選單顯示特效演示

精簡漂亮的導航浮動選單顯示特效演示 by js.alixixi.com title 7 style 8ul,li 9.div a 10.div a li 1112 div a1 13.div a li hover div a1 14style 15head 1617 body 18 div clas...