サイト コレクションの Server リボンのボタンを置き換える

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

適用対象: SharePoint Foundation 2010

この記事の内容
SharePoint プロジェクトの作成
新しいフィーチャーの追加
カスタム アクションの定義
カスタマイズの展開

ここでは、Microsoft SharePoint Foundation の Server リボンのボタンをサイト コレクション レベルで置き換える方法について説明します。ScriptLink でカスタム アクションを使用して、すべてのページに ECMAScript (JavaScript、JScript) を追加します。

前提条件

Microsoft SharePoint Foundation 2010

Microsoft Visual Studio 2010 の SharePoint 開発者ツール

SharePoint プロジェクトの作成

リボンをカスタマイズするには、まず、空の SharePoint プロジェクトを作成します。

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

  1. Microsoft Visual Studio 2010 を起動します。

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

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

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

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

新しいフィーチャーの追加

フィーチャーを使用してリボンをカスタマイズします。次の手順では、新しいフィーチャーをソリューションに追加します。

新しいフィーチャーを追加するには

  1. ソリューション エクスプローラーで [Features] を右クリックし、[フィーチャーの追加] を選択します。

  2. フィーチャーの [タイトル] を「Replace a Ribbon Button Using ScriptLink」に変更します。

  3. ソリューション エクスプローラーで [Feature1] を右クリックし、[名前の変更] を選択します。新しい名前として「ReplaceARibbonButtonUsingScriptLink」と入力します。

  4. ソリューション エクスプローラーで [ReplaceARibbonButtonUsingScriptLink] プロジェクトを右クリックし、[追加] をポイントし、[新しいアイテム] をクリックします。

  5. [新しいアイテムの追加] ダイアログ ボックスで [空の要素] テンプレートを選択します。名前として「ReplaceARibbonButtonUsingScriptLink」と入力します。

カスタム アクションの定義

リボン ボタンを置き換えるには、CommandUIDefinition 要素の Location 属性を使用します。リボン ボタンの既定値は、「既定のサーバー リボンのカスタマイズの場所」に記載されています。リボン XML の詳細については、「Server リボン XML」を参照してください。

カスタム アクションを定義するには

  1. Elements.xml ファイルを開きます。

  2. 次の XML を Elements.xml ファイルに貼り付けます。この XML により、ドキュメント ライブラリの [ライブラリ] タブの [接続とエクスポート] グループにある [Outlook に接続] ボタンが置き換えられます。

    重要重要

    Image32by32 属性と Image16by16 属性を、有効なイメージの URL に置き換えます。

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
      <CustomAction Id="Ribbon.Library.Actions.ConnectToClient"
        Location="CommandUI.Ribbon"
        RegistrationId="101"
        RegistrationType="List"
        Title="Custom ECMAScript Button">
        <CommandUIExtension>
          <CommandUIDefinitions>
            <CommandUIDefinition
              Location="Ribbon.Library.Actions.ConnectToClient">
              <Button Id="Ribbon.Library.Actions.ConnectToClient"
                Command="CustomECMAScriptCommand"
                Image16by16="Insert an image URL here."
                Image32by32="Insert an image URL here."
                LabelText="Hello World"
                TemplateAlias="o1" />
            </CommandUIDefinition>
          </CommandUIDefinitions>
          <CommandUIHandlers>
            <CommandUIHandler
              Command="CustomECMAScriptCommand"
              CommandAction="javascript:HelloWorld();" />
          </CommandUIHandlers>
        </CommandUIExtension>
      </CustomAction>
      <CustomAction Id="Ribbon.Library.Actions.NewButton.Script"
        Location="ScriptLink"
        ScriptBlock="
        function HelloWorld()
        {
          alert('Hello, world!');
        }" />
    </Elements>
    

カスタマイズの展開

プロジェクトがファーム ソリューションとして設定されたので、そのプロジェクトは自動的に展開され、インターネット インフォメーション サービス (IIS) がリセットされます。

カスタマイズを展開するには

  1. F5 キーを押します。Visual Studio 2010 の SharePoint 開発者ツールによって、フィーチャーの構築と展開が自動で行われます。

  2. サイトまたはサブサイト内のドキュメント ライブラリに移動します。

  3. [ライブラリ] タブをクリックし、[接続とエクスポート] グループを確認し、[Outlook に接続] ボタンがあるかどうかを確かめます。

関連項目

概念

Server リボン XML

Server リボンの宣言型カスタマイズ

EcmaScript および Server リボン

Server リボンの必須のカスタマイズ