例:ユーザーインターフェースを表示するコマンドテンプレートコード
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
コマンドテンプレートを使い、ユーザーがアイテムを挿入する際にオプションを選択できるユーザーインターフェースを表示できます。
場合によっては、コマンドテンプレートのユーザーインターフェースをカスタムアイテムエディタとして再利用したい場合もあります。
以下のコマンドテンプレートのコードサンプルは、ユーザーがフォルダを挿入できるユーザーインターフェースを示しています。この例は意図的に単純化し、ユーザーインターフェースを表示するコマンドテンプレートを実装するために必要な最小限のコンポーネントを示しています。
Execute()メソッドに渡される唯一のパラメータはSitecore.Shell.Framework.Commands.CommandContextオブジェクトです。このオブジェクトのItemsコレクションの最初の要素は、ユーザーがコマンドテンプレートを呼び出した際に選択されたSitecore.Data.Items.Itemを示します。呼び出されたExecuteメソッドは処理環境に関する情報を準備し、その後コマンドテンプレートロジックを含むRun()メソッドを呼び出します。
Run()メソッドはコマンドテンプレートのユーザーインターフェースダイアログボックスを呼び出し、ユーザーがそのダイアログボックスを完了すると、作成されたアイテムを編集用インターフェースに読み込みます。Run()メソッドでは、args.IsPostBackが真であれば、ユーザーはインターフェースを完了したことになります。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のコードビハインドの内容を表しています: