用于删除站点操作菜单项的Sharepoint自定义操作
本文关键字:操作 Sharepoint 自定义 菜单项 站点 用于 删除 | 更新日期: 2023-09-27 18:01:20
我一直在寻找如何在网站操作菜单中隐藏两个按钮(新页面&管理网站内容和结构)。
这是我的具体案例…我有一个列表,当一个用户正在查看,我希望能够删除某些按钮。同样取决于用户是否是管理员,这些按钮应该显示或不显示…目前,我已经能够使用HideCustomActions
(下面的代码)删除这两个按钮。隐藏自定义操作的问题是,没有属性来指定列表或内容类型以使其关闭。也没有像CustomActions
中那样只向管理员显示按钮的属性(下面是我想在CustomActions中做的示例代码)。
HideCustomActions 代码:
<HideCustomAction
Id="HideCreatePublishingPage"
GroupId="SiteActions"
HideActionId="PublishingSiteActionsMenuCustomizer"
Location="Microsoft.SharePoint.StandardMenu">
</HideCustomAction>
CustomActions 代码:
<CustomAction
Id="HideNewPage"
GroupId="SiteActions"
Location="Microsoft.SharePoint.StandardMenu"
RegistrationType="List"
RegistrationId="10037"
RequireSiteAdministrator="TRUE">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition Location="WHAT GOES HERE?" /> <!-- PublishingSiteActionsMenuCustomizer should go here but i dont have the id -->
</CommandUIDefinitions>
</CommandUIExtension>
</CustomAction>
如果有任何细节缺失或如果我没有正确解释自己,请让我知道,我会更新!
据我所知,您想在Site Actions菜单中隐藏一个操作,当您在一些特殊的列表/页面中。
这不能开箱即用。HideCustomAction
元素根本不提供"仅当用户在页面XYZ时隐藏"。它要么隐藏动作,要么不隐藏——这适用于任何地方的所有用户。尤其是当你在谈论网站操作菜单时,它(顾名思义)是全站范围的。
你唯一的选择是做你想要的,隐藏菜单项只为某些用户,以及只隐藏他们在某些页面是使用JavaScript(或服务器端代码)。使用JavaScript,您必须搜索菜单项并隐藏它们,如果您的逻辑适用。