Come posso aggiungere nuove condizioni oltre alle condizioni esistenti che determinano se una voce di menu è visibile? Queste condizioni non dovrebbero essere limitate alle impostazioni delle autorizzazioni.
Ad esempio un caso d'uso (non necessariamente il motivo di questa domanda): supponiamo che io abbia un tipo di contenuto di cui gli utenti sono autorizzati a creare solo un nodo. Ho una voce di menu per l'aggiunta di quel tipo di contenuto. Ma se l'utente ha già creato un nodo di quel tipo di contenuto, voglio nascondere la voce di menu. Il mio primo pensiero è di eseguire una query per verificare l'esistenza di un nodo creato dall'utente corrente che è del tipo di contenuto specifico. Se ne esiste uno, nasconde la voce di menu.
Penso che questo tipo di funzionalità dovrebbe entrare hook_menu_alter()
e aggiungere lì la logica richiesta. Ma non sono sicuro di come farlo senza ignorare i controlli esistenti, come verificare se l'utente dispone delle autorizzazioni per creare quel tipo di contenuto. Dovrei includere quella logica nelle mie condizioni? Oppure posso aggiungere alla logica di accesso esistente senza sovrascriverla?
Modifica: alcune persone sembrano concentrate sulla risposta "come posso limitare un utente alla creazione di un nodo di un tipo di contenuto". Questa non è la domanda qui. La domanda è come aggiungere condizioni di accesso personalizzate a una voce di menu.