E’ possibile, in SharePoint, inserire un Ribbon “custom” in modo dinamico all’interno di una “application page” (ad esempio vincolandolo al verificarsi di una certa condizione).
Per farlo è necessario eseguire tre semplici passi:
Il primo consiste nel definire il nostro Ribbon all’interno di una feature. La particolarità da tener presente consiste nel fatto che il ribbon non va associato a nessun “template” di lista e a nessun “content-type” (parametri del Tag “CustomAction”).
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction Id="Siva.Ribbon.TabCustom" Location="CommandUI.Ribbon">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition Location="Ribbon.Tabs._children">
<Tab Id="Ribbon.TabCustom"
Sequence="1101"
Description="My description"
Title="My title">
…
|
Il secondo consiste nell’inserire all’interno della nostra “allication page” (o se serve all’interno della “master page”) il controllo SPRibbon.
<SharePoint:SPRibbon ID="SPRibbonVC" runat="server" PlaceholderElementId="RibbonContainer" CssFile="" >
<SharePoint:SPRibbonPeripheralContent runat="server" Location="TabRowRight" ID="RibbonTabRowRight" CssClass="s4-trc-container s4-notdlg"></SharePoint:SPRibbonPeripheralContent>
</SharePoint:SPRibbon>
|
Il terzo, ed ultimo, passo, consiste nell’associare al controllo SPRibbon il nostro Ribbon “custom”, all’interno dell’evento “OnPreRender”.
if (myContition == true)
{
SPRibbon current = SPRibbon.GetCurrent(this);
if (current != null)
{
current.CommandUIVisible = true;
current.MakeTabAvailable("Ribbon.TabCustom");
current.InitialTabId = "Ribbon.TabCustom";
current.Minimized = false;
}
}
|
Technorati Tags: SharePoint 2013