這是可能更好的是在PHP而不是JavaScript。當然菜單移動的東西是用JavaScript編寫的,但我不認爲這就是你所問的(如果你也需要幫助,它應該是它自己的問題)。
對於菜單,而不是構建每個菜單,將其翻轉。對於每個可能的項目,定義哪些角色可以看到該項目。然後,瀏覽每個項目,抽出符合用戶角色的項目。
此代碼是一種通用的,因爲我不知道該怎麼跟你工作,但是:
class MenuItem {
public $name;
public $url;
public $allowedRoles;
public function __construct($name, $url, $allowedRoles) {
$this->name = $name;
$this->url = $url;
$this->allowedRoles = $allowedRoles;
}
}
$items = array(
new MenuItem('Everyone', 'http://example.com', array('seller', 'admin')),
new MenuItem('Sellers Only', 'http://example.com/seller', array('seller')),
new MenuItem('Admins Only', 'http://example.com/admin', array('admin'))
);
function getItemsForRole($items, $role) {
$userItems = array();
foreach ($items as $item) {
if (in_array($role, $item->allowedRoles) {
$userItems[] = $item;
}
}
return $userItems;
}
$adminItems = getItemsForRole($items, 'admin');
$sellerItems = getItemsForRole($items, 'seller');
你仍舊需要邏輯爲用戶,並建立相應的菜單,但我希望,讓你這個想法。
歡迎來到SO。這是一個問答社區。我們很樂意幫助解決具體問題,但不能提供廣泛的廣泛建議。請顯示你已經寫過的一些代碼,並解釋你在哪裏遇到麻煩。參見[問]你是否需要關於它如何工作的幫助。 – simbabque