it-swarm-ko.tech

주 메뉴 항목을 숨기려면 어떻게합니까?

일부 노드의 소유자 인 사용자가 있으며 각 노드에는 기본 메뉴에 메뉴 링크가 있습니다. 사용자는 자신이 소유 한 노드 만 볼 수 있으며 다른 사용자의 노드는 볼 수 없습니다.

문제는 이제 모든 사용자에 대해 다음 이미지와 같이 메뉴가 표시된다는 것입니다. 현재 사용자가 소유 한 노드와 현재 사용자가 소유하지 않은 노드에 대한 링크를 표시합니다.

screenshot

로그인 한 사용자가 소유 한 노드에 해당하는 메뉴 항목 만 표시하고 싶습니다. 어떻게해야합니까?

4
Ek Kosmos

Drupal은 사용자가 액세스 할 수없는 경로에 대한 메뉴 항목을 숨 깁니다. 그러나 이것이 작동하려면 해당 메뉴 항목에 대한 액세스 콜백이 FALSE을 반환해야합니다. 메뉴 콜백에서 액세스 제어를 대신 처리하면 Drupal는 사용자에게 액세스 권한이 없으며 메뉴를 표시한다는 것을 알지 못합니다.

해결책은 기존 노드를 사용할 수없는 경우 사용자 정의 액세스 제어 모듈/기능을 구현하는 것입니다.

4
googletorp

액세스를 제어하려는 각 메뉴 항목에 대해 hook_men (http://api.drupal.org/api/drupal/modules--system--system.api.php/ function/hook_menu/7) 배열 값 설정? 이러한 각 배열 항목에 관심이있는 속성은 "액세스 콜백"입니다. 사용자에게이 메뉴 항목에 대한 액세스 권한이 있으면 TRUE를 반환하고 그렇지 않으면 FALSE를 반환하는 함수입니다.

대상과 함께 ser_access ($ string, $ account = NULL) (http://api.drupal.org/api/drupal/modules--user--user.module/function/user_access) 사용 이 참조를 기반으로 선택한 액세스 권한 값 : ( http://drupal.org/node/132202 )

2
DeeZone

다음 답변 (모듈 이이 기능을 수행하도록 제공)은 ...에서 찾을 수 있습니다.

사용자 역할에 따라 하나의 메뉴 항목 만 표시/숨기려면 어떻게해야합니까?

...유능한:

Drupal menu_per_role 모듈 :

https://drupal.stackexchange.com/a/29545

드루팔 메뉴 아이템 가시성.

https://drupal.stackexchange.com/a/30934

0
therobyouknow