В SharePoint, как отобразить пользовательскую кнопку ленты только для определенных списков? - PullRequest
1 голос
/ 24 августа 2011

У меня есть четыре внешних списка "List1", "List2", "List3", "List4". Я добавил пользовательскую кнопку ленты Как:

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
  <CustomAction
    Id="ATEAgWorkOrderButton"
    RegistrationType="List"
    RegistrationId="600"
    Location="CommandUI.Ribbon">
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition
         Location="Ribbon.ListItem.Actions.Controls._children">
          <Button
           Id="Ribbon.ListItem.Actions.ATEAgWorkOrderButton"
           Alt="Click on this button to Add"
           Sequence="3"
           Image32by32="/_layouts/Images/Project/image.png"
           Command="ATEAg_WorkOrder"
           LabelText="Add Detail"
           TemplateAlias="o2"/>
        </CommandUIDefinition>
      </CommandUIDefinitions>
      <CommandUIHandlers>
        <CommandUIHandler
         Command="ATEAg_WorkOrder"
         CommandAction="javascript:alert("Hello Success");" />
      </CommandUIHandlers>
    </CommandUIExtension>
  </CustomAction>
</Elements>

Кнопка теперь видна во всех внешних списках. Но я хочу сделать его видимым только для «List1» и «List2». Как это сделать? Может кто-нибудь помочь?

Ответы [ 2 ]

2 голосов
/ 24 августа 2011

Вам необходимо изучить глубокое погружение Эндрю Коннелла с лентами.

http://www.andrewconnell.com/blog/archive/2011/04/16/sharepoint-2010-ribbon-customization-deep-dive.aspx

Он углубляется в решение этих проблем. Короче говоря, вместо привязки настройки для всех списков определенного типа, вы можете зарегистрировать функцию javascript, которая вызывается, чтобы определить, должна ли ваша кнопка отображаться или скрываться. В этой функции вы можете определить, какой список в данный момент активен.

0 голосов
/ 24 августа 2011

Если все ваши списки связаны с ContentType, вы можете установить идентификатор регистрации настраиваемого действия для идентификатора ContentType.

С MSDN :

RegistrationID: необязательный текст. Определяет идентификатор списка или тип содержимого элемента, с которым связано это действие, или файл тип или программный идентификатор (ProgID).

...