Como posso adicionar novas condições sobre as condições existentes que determinam se um item de menu está visível? Essas condições não devem se limitar às configurações de permissões.
Como exemplo de caso de uso (não necessariamente o motivo desta pergunta): suponha que eu tenha um tipo de conteúdo do qual os usuários tenham permissão para criar apenas um nó. Eu tenho um item de menu para adicionar esse tipo de conteúdo. Mas se o usuário já criou um nó desse tipo de conteúdo, desejo ocultar o item de menu. Meu primeiro pensamento é executar uma consulta para verificar a existência de um nó criado pelo usuário atual que é do tipo de conteúdo específico. Se existir, oculte o item de menu.
Eu acho que esse tipo de funcionalidade deve entrar hook_menu_alter()
e adicionar a lógica necessária lá. Mas não tenho certeza de como fazer isso sem ignorar as verificações existentes, como verificar se o usuário tem permissões para criar esse tipo de conteúdo. Eu precisaria incluir essa lógica em minha própria condição? Ou posso adicionar à lógica de acesso existente sem substituí-la?
Editar: algumas pessoas parecem focadas em responder "como faço para limitar um usuário a criar um nó de um tipo de conteúdo". Essa não é a questão aqui. A questão é como adicionar condições de acesso personalizadas a um item de menu.