カスタム アクションを使用してユーザー インターフェイスを変更する
最終更新日: 2011年4月21日
適用対象: SharePoint Foundation 2010
この記事の内容
SharePoint プロジェクトを作成する
サーバー リボンにボタンを追加する
[サイトの操作] メニューにアイテムを追加する
[制御ブロックの編集] メニューのアイテムを追加する
機能を使用すると、 のメニューおよび Server リボンに簡単に操作を追加できるようになります。次の例は、機能を使用してさまざまなメニューに操作を追加する方法を示しています。それぞれの例が、Microsoft Visual Studio 2010 の SharePoint 開発者ツールで作成されたプロジェクトを使用してます。
SharePoint プロジェクトを作成する
Visual Studio 2010 の SharePoint 開発者ツールを起動します。
[ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。
[プロジェクトの種類] で、[Visual Basic] または [C#] の [空の SharePoint プロジェクト] を選択します。
プロジェクト名として「UserInterfaceActions」と入力します。[OK] をクリックします。
SharePoint カスタマイズ ウィザードで、[サンドボックス ソリューションとして配置する] を選択します。[完了] をクリックします。
ソリューション エクスプローラーで UserInterfaceActions プロジェクトを右クリックし、[追加]、[新しいアイテム] の順に選択します。
[新しい項目の追加] ダイアログ ボックスで [空の要素] を選択します。名前として「UserInterfaceActions」と入力します。
Elements.xml ファイルを開きます。
サーバー リボンにボタンを追加する
リボンには、SharePoint Foundation を操作するための主要なコマンドがあります。リボンは、機能カスタム アクションおよびリボン XML を使用してカスタマイズできます。次の手順は、カスタム アクションおよびリボン XML を使用してリボンを変更する方法を示しています。それぞれの例で CustomAction 要素の Location 属性は異なっており、これはカスタマイズが表示されるフォームを定義します。CommandUIDefinition 要素の Location 属性は、リボン内でのカスタマイズが表示される場所を定義します。Server リボンの詳細については、「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) は、リスト アイテムに使用するアイテムごとのメニューです。
<?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>