カスタム アクションを使用してユーザー インターフェイスを変更する

最終更新日: 2011年4月21日

適用対象: SharePoint Foundation 2010

この記事の内容
SharePoint プロジェクトを作成する
サーバー リボンにボタンを追加する
[サイトの操作] メニューにアイテムを追加する
[制御ブロックの編集] メニューのアイテムを追加する

機能を使用すると、 のメニューおよび Server リボンに簡単に操作を追加できるようになります。次の例は、機能を使用してさまざまなメニューに操作を追加する方法を示しています。それぞれの例が、Microsoft Visual Studio 2010 の SharePoint 開発者ツールで作成されたプロジェクトを使用してます。

SharePoint プロジェクトを作成する

  1. Visual Studio 2010 の SharePoint 開発者ツールを起動します。

  2. [ファイル] メニューの [新規作成] をポイントし、[プロジェクト] をクリックします。

  3. [プロジェクトの種類] で、[Visual Basic] または [C#] の [空の SharePoint プロジェクト] を選択します。

  4. プロジェクト名として「UserInterfaceActions」と入力します。[OK] をクリックします。

  5. SharePoint カスタマイズ ウィザードで、[サンドボックス ソリューションとして配置する] を選択します。[完了] をクリックします。

  6. ソリューション エクスプローラーUserInterfaceActions プロジェクトを右クリックし、[追加]、[新しいアイテム] の順に選択します。

  7. [新しい項目の追加] ダイアログ ボックスで [空の要素] を選択します。名前として「UserInterfaceActions」と入力します。

  8. 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>

関連項目

概念

カスタム アクションの既定の場所および ID

SharePoint Foundation のサーバー リボン

Feature.xml ファイル