Как я могу добавить новые условия поверх существующих условий, которые определяют, виден ли пункт меню? Эти условия не должны ограничиваться настройками разрешений.
В качестве примера использования (не обязательно причина этого вопроса): Предположим, у меня есть тип контента, пользователям которого разрешено создавать только один узел. У меня есть пункт меню для добавления этого типа контента. Но если пользователь уже создал узел этого типа контента, я хочу скрыть пункт меню. Моя первая мысль - запустить запрос, чтобы проверить существование узла, созданного текущим пользователем, который имеет определенный тип контента. Если он существует, скрыть пункт меню.
Я думаю, что этот тип функциональности следует hook_menu_alter()
добавить и добавить необходимую логику. Но я не уверен, как это сделать, не обходя существующие проверки, например, проверяя, есть ли у пользователя права на создание контента такого типа. Должен ли я включить эту логику в свое собственное состояние? Или я могу добавить к существующей логике доступа, не перезаписывая ее?
Изменить: Некоторые люди, кажется, сосредоточены на том, чтобы ответить «как я могу ограничить пользователя созданием одного узла типа контента». Это не вопрос здесь. Вопрос в том, как добавить пользовательские условия доступа к пункту меню.