例: ユーザー インターフェイスを表示するコマンド テンプレート コード
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
ユーザーがアイテムの挿入時にオプションを選択できるユーザー インターフェイスを表示するコマンド テンプレートを使用できます。
場合によっては、コマンド・テンプレート・ユーザー・インターフェースをカスタム・アイテム・エディターとして再利用したいことがあります。
コマンド テンプレートの次のコード サンプルは、ユーザーがフォルダーを挿入できるユーザー インターフェイスを示しています。この例は、ユーザー インターフェイスを表示するコマンド テンプレートを実装するために必要な最小限のコンポーネントを示すために、意図的に過度に簡略化されています。
Execute() メソッドに渡される唯一のパラメータはSitecore.Shell.Framework.Commands.CommandContextオブジェクトです。このオブジェクトのItemsコレクションの最初の要素は、ユーザーがコマンド テンプレートを呼び出したときに選択されたSitecore.Data.Items.Itemを識別します。呼び出されたExecuteメソッドは、処理環境に関する情報を準備し、コマンド テンプレート ロジックを含むRun() メソッドを呼び出します。
Run() メソッドは、コマンド テンプレートのユーザー インターフェイス ダイアログ ボックスを呼び出し、ユーザーがそのダイアログ ボックスを完了すると、作成された項目を編集ユーザー インターフェイスに読み込みます。Run()メソッドでは、args.IsPostBackがtrueの場合、ユーザーはインタフェースを完了し、args.Resultに値が含まれている場合は、作成された項目のIDであり、Run()メソッドによってユーザー・インタフェースにその項目がロードされます。args.IsPostBackがfalseの場合、Run() メソッドはコマンド テンプレート ユーザー インターフェイスを呼び出します。
次のコードは、前に示したコード内のRun() メソッドによって参照されるユーザー インターフェイス コンポーネント ファイル (/sitecore modules/shell/Namespace/NewFolder.aspx) の内容を表しています。
わかりやすくするために、このコードではASP.NETページを使用しています。Sitecore 8.1より前のバージョンでは、Sitecore Sheerを使用してコマンド テンプレートを実装することもできました。
<base> 要素とその属性は、ユーザーがページ内のボタンをクリックしたときにブラウザーが新しいウィンドウを開くのを防ぎます。
次のコードは、/sitecore modules/shell/Namespace/NewFolder.aspxの分離コードの内容を表しています。