2

我一直在寻找如何隐藏站点操作菜单中的两个按钮(新页面和管理站点内容和结构)的几个小时。

这是我的具体情况......我有一个列表,当用户查看时,我希望能够删除某些按钮。还取决于用户是否是管理员,这些按钮是否应该显示......目前我已经能够使用HideCustomActions(下面的代码)删除这两个按钮。隐藏自定义操作的问题是没有属性可以指定列表或内容类型以使其正常工作。也没有像这样的属性CustomActions只会向管理员显示按钮(我想在下面的 CustomActions 中执行的示例代码)。

隐藏自定义操作代码:

<HideCustomAction
    Id="HideCreatePublishingPage"
    GroupId="SiteActions"
    HideActionId="PublishingSiteActionsMenuCustomizer"
    Location="Microsoft.SharePoint.StandardMenu">
</HideCustomAction>

自定义操作代码:

<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>

如果缺少任何细节或我没有正确解释自己,请告诉我,我会更新!

4

1 回答 1

2

据我了解,当您在某个特殊列表/页面中时,您想在“站点操作”菜单中隐藏一个操作。

这不是开箱即用的。该HideCustomAction元素根本不提供“仅当用户在页面 XYZ 上时隐藏”。要么隐藏动作,要么不隐藏——这适用于所有用户。尤其是当您谈论的是(顾名思义)站点范围内的站点操作菜单时。

您唯一的选择是使用 JavaScript(或服务器端代码)来做您想做的事,仅对某些用户隐藏菜单项以及仅在某些页面上隐藏它们。如果您的逻辑适用,您必须使用 JavaScript 搜索菜单项并隐藏它们。

于 2013-02-27T17:28:29.583 回答