次の方法で共有


コンテンツ クエリ Web パーツにユーザー設定フィールドを表示する

最終更新日: 2010年4月19日

適用対象: SharePoint Server 2010

[コンテンツ クエリ Web パーツ] は、Microsoft SharePoint Server 2010 サイト内のページにコンテンツを動的に表示します。Web パーツは、サイト コレクション内のリストおよびサイトにまたがることができるクエリを実行し、そのクエリの結果をページに表示します。たとえば、この Web パーツを使用して、その Web サイトで最近発行されたアーティクルを 5 つ、格納場所に関係なく表示することができます。

この Web パーツには、クエリとプレゼンテーションという 2 つの主な特徴があります。クエリは表示するコンテンツを決定し、プレゼンテーションはコンテンツのスタイルと表示方法を決定します。ルールを添付して、特定のルール セットに適合する特定の種類のアイテムのみを Web パーツに表示するようにもできます。

ツール ウィンドウでは、以下を行うことができます。

  • クエリのスコープを選択します。サイト コレクション全体で、サイト コレクション内の特定のサイトから、または特定のリストからアイテムのクエリを実行するように Web パーツを構成できます。

  • アイテムのクエリを実行するリストの種類を選択します。

  • Web パーツが表示するコンテンツ タイプを指定します。

  • Web パーツが表示するコンテンツを制御するための追加フィルターを選択します。たとえば、あるフィルターを使用して、特定のユーザーが作成した [アーティクル ページ] のみを表示することができます。

  • アイテムの表示順序を決定するために、並べ替えおよびグループ化のオプションを選択します。

  • Web パーツがアイテムおよびグループ ヘッダーを表示する方法を制御するためのスタイル オプションを選択します。

既定では、[コンテンツ クエリ Web パーツ] の表示を制御する XSL スタイル シートは、クエリが返すアイテムの [タイトル]、[説明]、[イメージ URL]、および [LinkUrl] の列 (存在する場合) をレンダリングします。Web パーツは、[イメージ URL] 列および [LinkUrl] 列をそれぞれ、イメージおよびハイパーリンクとしてレンダリングします。[コンテンツ クエリ Web パーツ] は、既定で、XSL スタイル シートを使用してこれらの列をレンダリングします。

ユーザー設定のコンテンツ タイプに対するクエリを実行し、これらのコンテンツ タイプから特定の列を Web パーツにレンダリングする場合は, .webpart ファイルで小さなカスタマイズを実行する必要があります。

ここでは、Web パーツのクエリに追加の列を含める方法、および列の名前を既定の XSLT 変換が予期する名前に変更し、既定の XSLT 変換スタイルを使用して列をレンダリングするようにプログラムによって Web パーツに指示する方法について説明します。

このカスタマイズでの手順を理解するために、以下の列を持つ Knowledge Base Articles コンテンツ タイプがある場合のシナリオを考えます。

  • KB Title (テキスト)

  • Product (テキスト)

  • Version (テキスト)

  • Status (選択肢)

[Knowledge Base Articles] というタイトルのドキュメント ライブラリを、サポート技術情報の記事を含むコンテンツ タイプと関連付けます。ホーム ページ上の [コンテンツ クエリ Web パーツ] にはサポート技術情報の記事のコンテンツを表示し、Web パーツの [Title] 列は Title フィールドとして表示し、[Product] 列は Description フィールドとして表示します。これを行うには、以下の手順を実行します。

コンテンツ クエリ Web パーツにユーザー設定フィールドを表示するには

  1. ページに [コンテンツ クエリ Web パーツ] を追加します。

    • [クエリ] セクションで、[ソース] を、[Knowledge Base Articles] ドキュメント ライブラリ (リスト) からアイテムを表示するように設定します。それに合わせてリストの種類とコンテンツ タイプを設定します。

    • [プレゼンテーション] セクションで、[アイテムのスタイル] を [タイトルと説明] に設定します。

  2. Web パーツ ファイルのプロパティを、ユーザー設定フィールドを表示するように編集します。Web パーツの .webpart ファイルにアクセスするには、Web パーツの [編集] メニューで、[エクスポート] をクリックします。

    SharePoint Server 2010 は、この Web パーツで使用可能なプロパティの完全なセットを含む .webpart ファイルを生成します。.webpart ファイルは、テキスト エディターを使用して編集できる XML ファイルです。

  3. .webpart ファイルで、CommonViewFields プロパティを探します。このプロパティを使用して、Web パーツに表示する追加のフィールドを指定します。列および型の内部名を追加します。

    <property name="CommonViewFields" type="string">KB_x0020_Title,Text;Product,Text;</property>
    

    注意

    このプロパティで列の表示名を使用することはできません。内部列名は、リストまたはドキュメント ライブラリで列のプロパティを調べると見つけることができます。列を右クリックし、[プロパティ] をクリックします。列の内部名は、Address (URL) プロパティ内にある 'Field=' の後に表示されています。Knowledge Base Articles シナリオでは、列は [Knowledge Base Article] および [Product] で、内部名はそれぞれ KB_x0020_Title および Product です。

  4. これらの内部列名を、XSLT 変換に存在する列の Title と Description にマップします。これを行うには、DataColumnRenames プロパティを編集します。

    <property name="DataColumnRenames" type="string">KB_x0020_Title,Title;Product,Description</property>
    

    注意

    既定の XSLT 変換は、Title、Description、LinkUrl、および ImageUrl の 4 つのフィールドをレンダリングすることができます。DataColumnRenames プロパティで、指定する名前が XSLT 変換内の名前 (つまり、Title、Description、LinkUrl、および ImageUrl) に一致することを確認します。

  5. .webpart ファイルをローカルに保存します。

  6. Web ページで、手順 1. で追加した [コンテンツ クエリ Web パーツ] を削除します。

  7. .webpart ファイルをインポートし、ページに Web パーツを追加します。.webpart ファイルをインポートするには、[ページ] をクリックし、[Web パーツの追加] をクリックし、[インポート] をクリックします。.webpart ファイルを参照し、[アップロード] をクリックします。

  8. Web パーツをページ内の目的の領域にドラッグします。Web パーツは、Knowledge Base の [タイトル] および製品名を表示します。

KB Title および Product に加えて [Status] 列または [Version] 列を表示する場合は、XSLT 変換を変更し、追加の列に対するレンダリングを追加します。

注意

前の例は、レンダリングされた出力にユーザー設定フィールドを含めるように、1 つのページ上の単一の Web パーツを編集する方法を示しています。ただし、Microsoft SharePoint Designer 2010 などのエディターを使用して、Web パーツに変更を加えることもできます。SharePoint Designer 2010 は、ページ レイアウト上で使用される Web パーツをカスタマイズし、そのレイアウトを使用して作成されるページにそのカスタム Web パーツを自動的に含める場合に適したツールです。カスタマイズされた Web パーツを Web パーツ ギャラリーに追加して、新しいページの Web パーツ領域内にドラッグ アンド ドロップできるようにすることもできます。

関連項目

タスク

[方法] コンテンツ クエリ Web パーツ用に XSL をカスタマイズする

[方法] コンテンツ クエリ Web パーツ用に RSS をカスタマイズする

[方法] カスタム プロパティを使用してコンテンツ クエリ Web パーツをカスタマイズする

概念

よくある Web パーツおよびフィールド コントロールのカスタマイズ作業