Sitecore - 在功能区中隐藏按钮

And*_*ess 4 .net c# sitecore

我为特定内容项创建了一个Contextual功能区.我有两个按钮,可以将项目"提升"或"降级"到某个类别(该部分中只能有一个).

是否可以根据某种代码背后的内容状态隐藏其中一个按钮?我理解如何链接到Click事件,但我想知道是否有某种加载事件供自定义功能区访问.

And*_*ess 6

似乎我可以使用继承自的同一个类Command来覆盖该QueryState方法.加载按钮时调用此方法,我可以在那里进行检查,CommandState.Hidden如果不显示按钮则返回

public override CommandState QueryState(CommandContext context)
{
    var item = context.Items[0];

    return item.Fields["Spotlight"].Value == "" ? CommandState.Hidden : base.QueryState(context);
}
Run Code Online (Sandbox Code Playgroud)