Практическое руководство. Изменение пользовательского интерфейса с помощью настраиваемых действий
Дата последнего изменения: 21 апреля 2011 г.
Применимо к: SharePoint Foundation 2010
В этой статье
Создание проекта SharePoint
Добавление кнопок на ленту сервера
Добавление пункта в меню "Действия сайта"
Добавление пункта меню ECB
Использование компонентов упрощает добавление действий в меню и сервера в . В следующих примерах показывается, как добавлять действия в различные меню с помощью компонента. Во всех примерах используется один и тот же проект, созданный в разработки SharePoint в Microsoft Visual Studio 2010.
Создание проекта SharePoint
Запустите разработки SharePoint в Visual Studio 2010.
В меню Файл выберите пункт Создать, а затем выберите Проект.
В окне Типы проектов выберите в разделе Visual Basic или C# пункт Пустой проект SharePoint.
Введите в качестве имени проекта UserInterfaceActions. Нажмите кнопку ОК.
В окне Мастер настройки SharePoint выберите пункт Развернуть как изолированное решение. Нажмите кнопку Готово.
Щелкните правой кнопкой мыши проект UserInterfaceActions в обозревателе решений, а затем выберите Добавить, а затем Новый элемент.
В диалоговом окне Добавление нового элемента выберите шаблон Пустой элемент. Введите в качестве имени UserInterfaceActions.
Откройте файл 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>
См. также
Концепции
Расположения и идентификаторы пользовательского действия по умолчанию