Поделиться через


Практическое руководство. Изменение пользовательского интерфейса с помощью настраиваемых действий

Дата последнего изменения: 21 апреля 2011 г.

Применимо к: SharePoint Foundation 2010

В этой статье
Создание проекта SharePoint
Добавление кнопок на ленту сервера
Добавление пункта в меню "Действия сайта"
Добавление пункта меню ECB

Использование компонентов упрощает добавление действий в меню и сервера в . В следующих примерах показывается, как добавлять действия в различные меню с помощью компонента. Во всех примерах используется один и тот же проект, созданный в разработки SharePoint в Microsoft Visual Studio 2010.

Создание проекта SharePoint

  1. Запустите разработки SharePoint в Visual Studio 2010.

  2. В меню Файл выберите пункт Создать, а затем выберите Проект.

  3. В окне Типы проектов выберите в разделе Visual Basic или C# пункт Пустой проект SharePoint.

  4. Введите в качестве имени проекта UserInterfaceActions. Нажмите кнопку ОК.

  5. В окне Мастер настройки SharePoint выберите пункт Развернуть как изолированное решение. Нажмите кнопку Готово.

  6. Щелкните правой кнопкой мыши проект UserInterfaceActions в обозревателе решений, а затем выберите Добавить, а затем Новый элемент.

  7. В диалоговом окне Добавление нового элемента выберите шаблон Пустой элемент. Введите в качестве имени UserInterfaceActions.

  8. Откройте файл Elements.xml.

Добавление кнопок на ленту сервера

Основной набор команд, используемый для взаимодействия с SharePoint Foundation, находится на ленте. Ленту можно настроить, используя пользовательское действие компонента и XML-файл ленты. Следующие действия показывают, как изменить ленту с помощью пользовательского действия и XML-файла ленты. В каждом примере атрибут Location элемента CustomAction отличается, чтобы определить форму, в которой появится изменение. Атрибут Location для элемента CommandUIDefinition определяет, где внутри ленты появится изменение. Дополнительные сведения о сервера см. в разделе Лента сервера в SharePoint Foundation.

Добавление кнопки в форму списка

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
  <CustomAction Id="ListViewCustomization" Location="CommandUI.Ribbon.ListView" RegistrationId="101" RegistrationType="List" Title="List View Ribbon Customization">
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition Location="Ribbon.Documents.Share.Controls._children">
          <Button Id="ListViewButton" Command="ListViewButtonCommand" Description="Go to Settings" LabelText="Site Settings" TemplateAlias="o2" Sequence="93"/>
        </CommandUIDefinition>
      </CommandUIDefinitions>
      <CommandUIHandlers>
        <CommandUIHandler Command="ListViewButtonCommand" CommandAction="/_layouts/settings.aspx" />
      </CommandUIHandlers>
    </CommandUIExtension>
  </CustomAction>
</Elements>

Добавление кнопки в форму редактирования

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
  <CustomAction Id="EditFormCustomization" Location="CommandUI.Ribbon.EditForm" RegistrationId="101" RegistrationType="List" Title="Edit Form Ribbon Customization">
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition Location="Ribbon.DocLibListForm.Edit.Actions.Controls._children">
          <Button Id="EditFormButtonTest" Command="EditFormButtonCommand" Description="Go to Settings" LabelText="Site Settings" TemplateAlias="o2" Sequence="91"/>
        </CommandUIDefinition>
      </CommandUIDefinitions>
      <CommandUIHandlers>
        <CommandUIHandler Command="EditFormButtonCommand" CommandAction="/_layouts/settings.aspx" />
      </CommandUIHandlers>
    </CommandUIExtension>
  </CustomAction>
</Elements>

Добавление кнопки на ленту сервера для конкретного типа контента

Кнопка ленты также может добавляться в список или библиотеку, будучи связанной с конкретным типом контента. Это позволяет менять настройки ленты в зависимости от типа контента.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
  <ContentType ID="0x01AB" Name="My Custom Content Type" Group="My Custom Content Types" Description="A customized content type." Version="1">
    <FieldRefs>
      <FieldRef ID="{8c06beca-0777-48f7-91c7-6da68bc07b69}" Name="Created" DisplayName="Created By"/>
      <FieldRef ID="{1df5e554-ec7e-46a6-901d-d85a3881cb18}" Name="Author" DisplayName="Author Name"/>
    </FieldRefs>
  </ContentType>
  <CustomAction Id="ContentTypeRibbonCustomization" RegistrationId="0x01AB" RegistrationType="ContentType" Rights="ManagePermissions" Location="CommandUI.Ribbon.ListView" Sequence="95" Title="Ribbon Customization for a Content Type">
    <CommandUIExtension>
      <CommandUIDefinitions>
        <CommandUIDefinition Location="Ribbon.ListItem.Actions.Controls._children">
          <Button Id="ContentTypeTest.Button" Command="ContentTypeCommand" CommandType="General" Description="Redirects to Settings.aspx" TemplateAlias="o2" Sequence="95" LabelText="Settings"/>
        </CommandUIDefinition>
      </CommandUIDefinitions>
      <CommandUIHandlers>
        <CommandUIHandler Command="ContentTypeCommand" CommandAction="/_layouts/Settings.aspx" />
      </CommandUIHandlers>
    </CommandUIExtension>
  </CustomAction>
</Elements>

Добавление пункта в меню "Действия сайта"

Меню "Действия сайта" доступно на каждой странице SharePoint Foundation. Добавить дополнительный пункт в это меню можно, используя следующее пользовательское действие.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
  <CustomAction Id="SiteActionsToolbar" GroupId="SiteActions" Location="Microsoft.SharePoint.StandardMenu" Sequence="1000" Title="Custom Site Settings">
    <UrlAction Url="/_layouts/Settings.aspx"/>
  </CustomAction>
</Elements>

Добавление пункта меню ECB

ECB-меню — это меню конкретного элемента, используемое для элементов списков.

<?xml version="1.0" encoding="utf-8"?>
<Elements xmlns="https://schemas.microsoft.com/sharepoint/">
  <CustomAction 
    Id=" ECBItemCustomization"
    RegistrationType="List"
    RegistrationId="101"
    Location="EditControlBlock"
    Sequence="106"
    Title="Navigate to Site Settings">
    <UrlAction Url="/_layouts/Settings.aspx"/>
  </CustomAction>
</Elements>

См. также

Концепции

Расположения и идентификаторы пользовательского действия по умолчанию

Лента сервера в SharePoint Foundation

Файлы Feature.xml