A SPEAK dialog is a stand-alone SPEAK page that users open to perform a specific task. An example is the Select Media dialog. The user opens the dialog, performs the task, and closes the dialog again.
In a SPEAK application, users open the pages in the application from the menu or other navigational tools. Users typically open SPEAK dialogs from a button or a link. They can do this from a SPEAK page, but also from a page created in SheerUI.
This topic describes how to:
- Open a SPEAK dialog from SheerUI
- Replace an existing SheerUI dialog with a SPEAK dialog
- Open a SPEAK dialog from SPEAK
Open a SPEAK dialog from SheerUI
You can open a SPEAK dialog from SheerUI with this function:
public static ClientCommand ShowModalDialog(ModalDialogOptions options)
To open a SPEAK page, you use this code:
Width = "100",
Height = "200",
Response = true,
ForceDialogSize = true
The relevant parameters are:
Specifies the Sitecore path of the SPEAK page, for example,
Sets the width of the SPEAK dialog, for example,
Sets the height of the SPEAK dialog, for example,
If True, Sitecore returns the dialog result to the server when the dialog is closed
Determines whether SPEAK uses the values of Width and Height. If True, SPEAK uses those values for the size of the dialog.
Replacing an existing dialog with a SPEAK dialog
To replace an existing SheerUI dialog with a SPEAK dialog, you just need to configure Sitecore to use the SPEAK dialog. This instructs Sitecore to use the SPEAK dialog rather than the old dialog everywhere – you do not have to modify the links or buttons that open the old dialog.
You configure the replacement this way:
- Open the
Sitecore.Speak.Applications.configfile in the
<overrideDialogs>nodes contain lists of the old dialogs and the SPEAK page that replaces it, in this format:
<override dialogUrl="<path to old dialog" with="path to SPEAK page" />For example:
<override dialogUrl="/sitecore/shell/Applications/Item%20browser.aspx" with="/sitecore/client/applications/dialogs/InsertSitecoreItemViaTreeDialog" />Add the dialog you are replacing and the new page to this list.
Sitecore uses two processors in the
HttpRequest pipeline for this:
Sitecore uses this approach to replace a number of legacy dialogs. Sitecore uses XmlControls to create the legacy Select Media dialog and therefore uses the
OverrideXmlControl processor – aspx dialogs use the
Opening a SPEAK dialog from SPEAK
You create most dialogs natively in SPEAK using the DialogWindow component.
If you need to open a stand-alone page as a dialog within SPEAK, you can also use the DialogWindow component and then use a Frame component to show the actual dialog.