2013-02-27 1 views
2

Я искал часы о том, как скрыть две кнопки в меню действий сайта (Новая страница & Управление содержимым и структурой сайта).Sharepoint Пользовательские действия для удаления элементов меню действий сайта

Heres my specific case ... У меня есть список, который, когда пользователь просматривает, я хочу убрать некоторые кнопки. Также зависит, если пользователь является администратором, эти кнопки должны показывать или нет ... В настоящее время я смог удалить эти две кнопки, используя 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> 

Если Theres любые детали отсутствуют или если я не объяснить себя должным образом, пожалуйста, дайте мне знать, и я буду обновлять!

ответ

2

Насколько я понял вас, вы хотите скрыть действие в меню Действия сайта, когда вы находитесь в каком-то специальном списке/странице.

Это не работает из коробки. Элемент HideCustomAction просто не предлагает «скрыть, только когда пользователь находится на странице XYZ». Либо он скрывает действие, либо нет - это распространяется на всех пользователей во всем мире. Особенно, когда вы говорите о меню действий сайта, которое (как следует из названия) на сайте.

Ваш единственный выбор сделать то, что вы хотите, скрыть пункты меню только для определенных пользователей, а также скрыть их только на определенных страницах, это использовать JavaScript (или код на стороне сервера). С помощью JavaScript вы должны искать пункты меню и скрывать их, если ваша логика применяется.