如何在确定菜单项是否可见的现有条件之上添加新条件?这些条件不应限于权限设置。
作为一个示例用例(不一定是这个问题的原因):假设我有一个内容类型,其中只允许用户创建一个节点。我有一个菜单项用于添加该类型的内容。但是,如果用户已经创建了该内容类型的节点,那么我想隐藏菜单项。我的第一个想法是运行查询以检查当前用户创建的特定内容类型的节点是否存在。如果存在,请隐藏菜单项。
我认为这种功能应该加入其中hook_menu_alter()
并添加所需的逻辑。但是我不确定在不绕过现有检查的情况下如何做到这一点,例如检查用户是否有权创建该类型的内容。我是否必须在自己的情况下包括该逻辑?还是可以在不覆盖现有访问逻辑的情况下添加它?
编辑:有些人似乎专注于回答“如何限制用户创建内容类型的一个节点”。这不是这里的问题。问题是如何向菜单项添加自定义访问条件。