我使用视图(作为带有菜单标签设置的页面等)向用户页面添加了许多新标签。我现在想要做的是,如果被查看的用户是当前的登录用户,则删除它们。
在添加一些用户过滤之前,我的第一个问题是我似乎根本无法修改这些标签。我知道一般程序是使用HOOK_MENU_ALTER和(例如):
$items['user/%user/view']['type'] = MENU_CALLBACK;
这适用于原始标签,但不适用于添加了视图的标签,例如对于“文章”标签:
$items['user/%user/articles']['type'] = MENU_CALLBACK;
视图添加的标签是否与“普通”标签的处理方式不同?
干杯, 詹姆斯
答案 0 :(得分:2)
首先,通过使它们成为MENU_CALLBACK,您将无法动态隐藏它们。您应该做的是将访问回调更改为您要检查当前用户的函数。
至于找不到标签的原因,请检查:
答案 1 :(得分:1)
我认为视图在hook_menu_alter()中添加了所有内容。要更改它,您需要在{system}表中为模块赋予比视图更高的权重。