データ定義のCookbookの内容に基づいていくつかの簡単なコマンドを作成しました。このコマンドでは、ユーザーインタラクションがアイテム - >挿入 - > MyCommandを右クリックして、「本当にこれをやりたいですか? 。それは素晴らしいことです。ユーザーとの対話のためにSitecore ShowControlPopupを使用するにはどうすればよいですか?
今、ダイアログボックスでユーザーと少しでもやりとりするためのコマンドが必要です。ユーザーがオプションを選択できるようにラジオボタンリストを追加し、コマンドを実行するボタンを追加する必要があります。私はこれのためにShowControlPopupを使う必要があると思う。私はポップアップがどのように見えるかを定義するためのコントロール(ascx)を作成しました(そして、それがSitecoreの基本的なコントロールとして動作することを確認するテストバージョンを公開しました)。しかし、私はShowControlPopupのパラメータが何であるか正確にはわかりません。
最初のparateredは "Id
"と呼ばれます。ここには何を入れますか?ポップアップコントロールを使用するアイテムのIDですか?
第2パラメータは「where
」です。ポップアップに表示されるURLを推測しています。コンテンツアイテムはここに存在する必要がありますか、それとも単にダミーURLですか?
3番目のパラメータは「controlId
」と呼ばれます。ここにはどのようなIDを入れますか?ポップアップを定義する私のコントロールのidを試しましたが、コントロールが見つからないというエラーが表示されます。
ユーザがダイアログボックスでオプションを選択して「ok」をクリックすると、そのイベントを処理するものは何ですか?コマンドクラスのRunメソッドまたはポップアップコントロールのコードビヘイビア内のイベントハンドラ?
これまでのコードです。失敗した場合は、IDを指定してアイテムを見つけることができないというエラーのコントロールを作成しようとします。ポップアップコントロールが知りたいアイテムを推測しました。
protected void Run(Sitecore.Web.UI.Sheer.ClientPipelineArgs args)
{
if (args.IsPostBack)
{
if (args.HasResult)
{ // normally code here would run when the dialog box is completed by the user. Is that so in this case?
}
}
else
{
Sitecore.Context.ClientPage.ClientResponse.ShowControlPopup("F3684C4C-D9EF-4796-A471-5B05553119B6",
"http://mysite/dummy.aspx",
"B8D503D0-AEBE-43AE-B924-C3849F03E90D");
args.WaitForPostBack();
}
}
乾杯、
ジェームズ。
サイトコア6.2 REV 091012/Win7の32ビット/ IIS7 /から[SQLExpress 2008(ローカルのみDEV)
のように見えることになった薄手のUIは、私はサイトコアの数倍に訴えてきただけで完全に文書化されていない...何かですが、私はすべての更新を確認したことはありません。あなたがまだそれをしていないなら、私はこれのためのサポート要求を開くことをお勧めします。 – Bryan
Sheerコンポーネントを実装する最も簡単な方法は、あなたが望むものに近い既存のダイアログを見つけ、リフレクターを使用して必要なものにコピーして変更することです。たとえば、物理ファイルで[パブリッシュを設定]を検索してパブリッシングの制限ダイアログを探します。 XMLファイルを開き、 'Codebeside'クラスを探します。それから、リボンからコマンドを掘り起こし、コールがどのようにコピーされるのか。 – dmgdotnet
Bryan&dmgdotnetに感謝します。 Sitecoreのサポートケースを開いた。彼らが提供する有用な答えを投稿します。私はSitecoreコードを見ていきますが、私は現時点でその時間があるかどうかはわかりません。私は、いくつかの異なるコマンドを作成して、さまざまなシナリオを扱うことができます。 –