it-swarm-ko.tech

권한에 따라 링크를 표시하거나 숨기는 방법은 무엇입니까?

현재 사용자에게 특정 권한이있는 경우 기본 메뉴에서 링크를 숨기거나 표시하는 방법을 찾고 있습니다. 메뉴 항목이 이미 작성되었으며 메뉴 항목이 hook_node_access ()에 의해 제어되는 노드에 링크됩니다.

7
Camsoft

기본적으로 Drupal은 사용자가 액세스 할 수없는 모든 메뉴 항목을 숨기므로 가장 쉬운 방법은 메뉴 항목이 링크중인 페이지에 대해 선택된 액세스 권한을 요구함) 에.

4
googletorp

hook_menu_alter () 를 사용하여 "node/% node"와 관련된 액세스 콜백을 변경 한 다음 node_access ( ) . node_access()처럼 처리하고 싶은 특정한 경우가 있습니다. 예를 들어 "노드 액세스 우회"권한이있는 사용자는 항상 노드에 액세스합니다.

function mymodule_menu_alter(&$items) {
  if (isset($items['node/%node'])) {
    $items['node/%node']['access callback'] = 'mymodule_node_access';
  }
}

액세스 콜백은 링크를 볼 수있는 사람과 사용자가 브라우저 주소 표시 줄에 URL을 직접 쓸 때 페이지에 액세스 할 수있는 사람을 결정합니다.

2
kiamlaluno

drupal module menu_item_visibility

프로젝트 페이지를 인용하려면 :

예를 들어/user를 가리키는 '내 계정'링크를 만들려면 익명 사용자와 등록 된 사용자 모두/user 경로에 액세스 할 수 있으므로 익명 사용자가 기술적으로 계정을 가지고 있지 않더라도 둘 다 링크를 볼 수 있습니다 . 이 모듈을 사용하면 등록 된 사용자 만 '내 계정'링크를 볼 수 있으며 익명 사용자에게는 숨길 수 있습니다.

이 모듈은 친숙성을 위해 블록 가시성 설정에 사용 된 것과 동일한 UI를 사용합니다.

또는 menu_views 모듈-메뉴 생성에 대한 뷰 기반 접근 방식을 제공합니다 (사용자 기반으로 포함한다고 생각합니다)

1
therobyouknow