메뉴 항목의 표시 여부를 결정하는 기존 조건 위에 새로운 조건을 추가하려면 어떻게해야합니까? 이러한 조건은 권한 설정으로 제한되지 않아야합니다.
예를 들어 유스 케이스 (이 질문에 대한 이유는 아닙니다) : 사용자가 하나의 노드 만 만들 수있는 콘텐츠 유형이 있다고 가정하십시오. 해당 유형의 콘텐츠를 추가하기위한 메뉴 항목이 있습니다. 그러나 사용자가 이미 해당 콘텐츠 유형의 노드를 만든 경우 메뉴 항목을 숨기고 싶습니다. 첫 번째 생각은 쿼리를 실행하여 현재 사용자가 만든 특정 콘텐츠 유형의 노드가 있는지 확인하는 것입니다. 존재하는 경우 메뉴 항목을 숨 깁니다.
이 유형의 기능은 hook_menu_alter()
필요한 논리를 추가 해야한다고 생각합니다 . 그러나 사용자에게 해당 유형의 콘텐츠를 만들 수있는 권한이 있는지 확인하는 것과 같이 기존 확인을 우회하지 않고 그렇게하는 방법을 잘 모르겠습니다. 내 논리 안에 그 논리를 포함시켜야합니까? 아니면 기존 액세스 로직을 덮어 쓰지 않고 추가 할 수 있습니까?
편집 : 일부 사람들은 "사용자를 콘텐츠 유형의 한 노드를 만들도록 제한하는 방법"에 대답하는 데 집중하는 것 같습니다. 그것은 여기서 질문이 아닙니다. 문제는 메뉴 항목에 사용자 정의 액세스 조건을 추가하는 방법입니다.