次の方法で共有


アセットの選択をカスタマイズする

最終更新日: 2010年7月13日

適用対象: SharePoint Server 2010

この記事の内容
ページ レイアウト レベルでアセットの選択をカスタマイズする
アプリケーション内の任意の .aspx ページに AssetUrlSelector コントロールを追加する

アセットの選択ツールを使用すると、作成者は、サイトで使用可能なさまざまな種類のアセットの検索、並べ替え、および表示を簡単に行うことができます。たとえば、あらゆる SharePoint Server ライブラリまたは現在のサイト コレクション内のリストで、URL またはイメージを検索し、表示して、挿入できます。アセットの選択を使用すると、コンテンツを挿入するときに、それを指す URL を入力する必要がありません。アセットの選択は、発行サイトにあるさまざまなフィールド コントロールで使用できます。その例を次に示します。

  • HTML エディタ フィールド コントロール

  • イメージ フィールド コントロール

  • 概要リンク Web パーツ

[検索先] ウィンドウに、事前定義済みの SharePoint Server ライブラリへのショートカットが表示されます。これらのショートカットは、作成者がサイト コレクションのフォルダー内を移動しなくても、コンテンツをすぐに見つけられるように設計されています。イメージの選択では、ショートカットは次の場所を指しています。

  • 現在のサイト コレクションのドキュメント ライブラリ。

  • 現在のサイトのイメージ ライブラリ。

URL の選択では、ショートカットは次の場所を指しています。

  • 現在のサイトのページ ライブラリ。

  • 現在のサイトのドキュメント ライブラリ。

  • 現在のサイト コレクションのドキュメント ライブラリ。

上記のような既定の場所にないドキュメントを作成者が頻繁に挿入する必要がある場合は、サイト コレクション内の別の場所を指す追加のショートカットを定義できます。イメージの選択に 1 つのカスタム ショートカット、および URL の選択に 1 つのカスタム ショートカットを定義できます。定義すると、既定のショートカットの横にある [検索先] ウィンドウに、それらのショートカットが表示されます。カスタム選択ショートカットは、1 つのコントロールの範囲内でのみ定義できます。テンプレート ファイルでコントロールのマークアップを編集すると、そのコントロールから呼び出されたアセットの選択のみに、指定したカスタム ショートカットが表示されます。

ページ レイアウト レベルでアセットの選択をカスタマイズする

ページ レイアウト内の RichHtmlField コントロールまたは RichImageField コントロールのカスタム選択ショートカットを定義できます。

  1. \Program Files\Common Files\Microsoft Shared\web server extensions\14\TEMPLATE\FEATURES\PublishingLayouts\PageLayouts に移動し、ページ レイアウト .aspx ファイルを開きます。

  2. アセットの選択を使用するコントロールに関連付けられている発行フィールド コントロールを探します。たとえば、<PublishingWebControls:RichHtmlField> は HTML エディタ フィールド コントロールを表しています。

  3. このタグに、次の属性のどちらかまたは両方を追加します。

    • DefaultAssetLocation : URL の選択のカスタム ショートカットの URL を定義します。

    • DefaultAssetImageLocation : イメージの選択のカスタム ショートカットの URL を定義します。

      これらの URL は、/ReusableContent のように、サイト コレクション内のライブラリ、リスト、またはその他の場所を指すサイト コレクションの相対 URL である必要があります。

      たとえば、次の <PublishingWebControls:RichHtmlField> コントロールは、URL の選択のカスタム ショートカット /URLpicker とイメージの選択のカスタム ショートカット /imagepicker を定義しています。

      <PublishingWebControls:RichHtmlField id="Content" FieldName="PublishingPageContent" DefaultAssetLocation="/URLpicker" DefaultAssetImageLocation= "/imagepicker" runat="server"/>
      

      同様に、次の <PublishingWebControls:RichHtmlField> コントロールは、イメージの選択のカスタム ショートカットを定義しています。

      <PublishingWebControls:RichImageField id="Content" FieldName="PublishingPageImage" DefaultAssetImageLocation="/imagepicker" runat="server"/>
      
  4. 変更を保存して、ページ レイアウト .aspx ファイルを閉じます。

アプリケーション内の任意の .aspx ページに AssetUrlSelector コントロールを追加する

アプリケーション内の任意の .aspx ページに <cms:AssetUrlSelector> サーバー コントロールを追加できます。このサーバー コントロールは、現在選択されている URL を表示する TextBox と、クリックしたときに適切な ECMAScript (JavaScript、JScript) コードを実行してアセットの選択ユーザー インターフェイスを起動する LinkButton をレンダリングします。

表 1 に示された <cms:AssetUrlSelector> コントロールの属性を使用して、[Asset Picker] ダイアログ ボックスをカスタマイズできます。

表 1. [Asset Picker] ダイアログ ボックスのカスタマイズに使用する属性

属性

説明

DefaultOpenLocationUrl

アセットの選択で開く既定の場所を設定します。

DefaultsToLastUsedLocation

最後に使用された場所でアセットの選択ウィンドウを開く場合は True に設定します。アセットの選択を初めて使用する場合は、DefaultOpenLocationUrl プロパティで指定された場所で開きます。

アセットの選択ウィンドウを DefaultOpenLocationUrl に指定された場所で常に開く場合は、False に設定します。

DisplayLookInSection

アセットの選択ウィンドウに [検索先] セクションを表示する場合は True に設定します。それ以外の場合は、False に設定します。

OverrideDialogFeatures

[Asset Picker] ダイアログ ボックスの各種プロパティを上書きします。

OverrideDialogTitle

[Asset Picker] ダイアログ ボックスのタイトルを設定します。

OverrideDialogDescription

[Asset Picker] ダイアログ ボックスの上部に表示される説明を設定します。

OverrideDialogImageUrl

[Asset Picker] ダイアログ ボックスの右上に表示されるアイコンを設定します。

AssetTextClientID

指定すると、アセットの選択が返す AssetText 値の HTML 要素を探す際にこの ID が使用されます。

既定では子の TextBox コントロールの ClientID に設定されます。

AsserUrlClientID

指定すると、アセットの選択が返す AssetUrl 値の HTML 要素を探す際にこの ID が使用されます。

既定では子の TextBox コントロールの ClientID に設定されます。

ClientCallback

アセットの選択ダイアログ ボックスが値を返すときに呼び出す ECMAScript (JavaScript、JScript) 関数を含む文字列。

既定では String.Empty に設定されます。

UseImageAssetPicker

アセットの選択のイメージ バージョンを使用する場合は True に設定します。

アセットの選択の URL バージョンを使用する場合は False に設定します。イメージの選択は、既定では縮小表示で開きます。イメージを指していない URL をユーザーが選択すると、ユーザーに警告が表示されます。

AllowExternalURLs

外部 URL の指定を許可する場合は True に設定します。

既定は False です。

AssetUrlTextBoxVisible

URL テキスト ボックスを非表示にする場合は False に設定します。

既定は True です。

AssetPickerButtonVisible

アセットの選択ウィンドウを起動するボタンを非表示にする場合は False に設定します。

既定は True です。

AutoPostBack

ユーザーがテキスト ボックスに直接入力して選択済みの URL を変更するか、またはアセットの選択ウィンドウで別のアイテムを選択したときにアセットの選択を自動的にポスト バックする場合は True に設定します。既定は False です。

AsserUrlClientID

指定すると、アセットの選択が返す AssetUrl 値の HTML 要素を探す際にこの ID が使用されます。

既定では子の TextBox コントロールの ClientID に設定されます。

この例の <cms:AssetUrlSelector> コントロールでは、使用可能な多数の属性を使用しています。

<CMS:AssetUrlSelector
    DefaultOpenLocationUrl="~SiteCollection/"
    DefaultToLastUsedLocation="false"
    DisplayLookInSection="true"
    OverrideDialogFeatures="resizable: no; status: yes; scroll: yes; help: no; dialogWidth:500px; dialogHeight:500px;"
    OverrideDialogTitle="Custom Picker Title"
    OverrideDialogDescription="Custom Picker Description"
    OverrideDialogImageUrl="~Site/PublishingImages/AssetPickerLogo.jpg"
    AssetTextClientID="testAssetTextClientIDCust"
    ClientCallback="function(returnedUrl) { window.alert('ClientCallback[AssetTextClientID]: ' + returnedUrl); }"
    id="assetSelectedImageCustomLauncher" 
    UseImageAssetPicker=true 
    runat="server" />

関連項目

概念

デジタル資産の管理

デジタル資産管理プログラミング モデル

[方法] HTML エディター フィールド コントロールをカスタマイズする

その他の技術情報

Web コンテンツを管理する