1. SPEAKの利用

SPEAKダイアログを開く

Version: 9.0
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

SPEAKダイアログは、ユーザーが特定のタスクを実行するために開く独立したSPEAKページです。例としては 「セレクトメディア 」ダイアログがあります。ユーザーはダイアログを開き、タスクを実行し、再びダイアログを閉じます。

SPEAKアプリケーションでは、ユーザーはメニューやその他のナビゲーションツールからページを開きます。ユーザーは通常、ボタンやリンクからSPEAKダイアログを開きます。これはSPEAKページからだけでなく、SheerUIで作成されたページからも可能です。

このトピックでは、以下の方法を説明します:

  • SheerUIからSPEAKダイアログを開く
  • 既存のSheerUIダイアログをSPEAKダイアログに置き換える
  • SPEAKからSPEAKダイアログを開く

SheerUIからSPEAKダイアログを開く

SheerUIからこの機能を使ってSPEAKダイアログを開くことができます:

public static ClientCommand ShowModalDialog(ModalDialogOptions options)

SPEAKページを開くには、以下のコードを使います:

SheerResponse.ShowModalDialog(new ModalDialogOptions(url) { Width = "100", Height = "200", Response = true, ForceDialogSize = true });

関連するパラメータは以下の通りです:

オプション

概要

文字列URL

例えば、SPEAKページのSitecore経路を指定します。 /sitecore/client/applications/dialogs/myPage

弦幅

例えば、SPEAKダイアログの幅を設定します。 100

弦高

例えば、SPEAKダイアログの高さを設定します。 200

ブール応答

もしTrueの場合、ダイアログが閉じられた際にSitecoreはそのダイアログ結果をサーバーに返します

bool ForceDialogSize

SPEAKが幅と高さの値を使うかどうかを判定します。真の場合は、SPEAKはそれらの値をダイアログのサイズに用います。

既存のダイアログをSPEAKダイアログに置き換える

既存のSheerUIダイアログをSPEAKダイアログに置き換えるには、SitecoreをSPEAKダイアログを使用するよう設定するだけです。これにより、Sitecoreは従来のダイアログではなくSPEAKダイアログをどこでも使うよう指示されます。古いダイアログを開くリンクやボタンを変更する必要はありません。

交換は次のように設定します:

  1. Website\App_Config\Includeフォルダ内のSitecore.Speak.Applications.configファイルを開いてください。
  2. ノードとノードには、古いダイアログのリストとそれを置き換えるSPEAKページの一覧が含まれており、形式は以下の通りです。例えば:置き換えるダイアログと新しいページをこのリストに追加します。

Sitecore HttpRequestパイプラインには2つのプロセッサ、すなわちOverrideDialogsとOverrideXmlControlを使用します。

Sitecoreはこの手法を使って、いくつかのレガシーダイアログを置き換えています。SitecoreはXmlControlsを使ってレガシー のSelect Mediaダイアログを作成し、したがってOverrideXmlControlプロセッサを使用します。aspxダイアログはOverrideDialogsプロセッサを使用します。

SPEAKからSPEAKダイアログを開く方法

ほとんどのダイアログはSPEAKでネイティブにDialogWindowコンポーネントを使って作成します。

SPEAK内でダイアログとしてスタンドアロンページを開く必要がある場合は、DialogWindowコンポーネントを使い、Frameコンポーネントを使って実際のダイアログを表示することもできます。

例えば、DialogWindowダイアログを開くためのButtonコントロールのクリックイベントにJavaScriptを追加するには、次のコードを使用します:

javascript

.DialogWindow1.show()

この記事を改善するための提案がある場合は、 お知らせください!