2015-12-08 26 views
0

我正在使用Sitecore 8更新2. 我需要創建一些存檔功能。根據項目路徑在功能區中顯示額外選項

所以我打算在家中添加一個新的項目,並給用戶一個按鈕。當他們點擊這個按鈕時,當前項目被移動到歸檔項目(歸檔項目將具有與家庭項目相同的結構)。

當用戶正在處理存檔中的項目時,歸檔該項目的選項不應出現在功能區中。相反,它應該有一個按鈕將項目恢復到原來的位置。

我所能找到的所有功能都是如何根據模板添加功能區段,但在這裏do not't幫助很大。

有誰知道我該如何做到這一點?

回答

2

這裏是很好的解釋如何添加一個按鈕(命令)到Sitecore功能區: Adding a custom button to the ribbon

要檢查是否顯示按鈕,請覆蓋QueryState方法。您可以返回CommandState.EnabledCommandState.DisabledCommandState.Hidden,例如:

public override CommandState QueryState(CommandContext context) 
{ 
    Assert.ArgumentNotNull((object) context, "context"); 
    if (context.Items.Length != 1) 
    return CommandState.Hidden; 
    Item item = context.Items[0]; 
    if (item.TemplateID == ...) 
    return CommandState.Enabled; 

    return CommandState.Hidden; 
} 

然後覆蓋Execute方法,做你的邏輯有:

public override void Execute(CommandContext context) 
{ 
    Assert.ArgumentNotNull((object) context, "context"); 
    if (context.Items.Length != 1) 
    return; 
    Item item = context.Items[0]; 
    ... 
}