【问题标题】:Show extra option in the ribbon based on item path根据项目路径在功能区中显示额外选项
【发布时间】:2015-12-08 14:42:51
【问题描述】:

我正在使用 Sitecore 8 Update 2。 我需要创建一些存档功能。

所以我打算在与主页项目相同的级别添加一个新项目,并在功能区中为用户提供一个按钮。当他们单击此按钮时,当前项目将移动到存档项目(存档项目将与主项目具有相同的结构)。

当用户处理存档中的某个项目时,用于存档该项目的选项不应出现在功能区中。相反,它应该有一个按钮来将项目恢复到原来的位置。

我所能找到的只是如何根据其模板添加功能区部分,但这对我没有多大帮助。

有谁知道我如何做到这一点?

【问题讨论】:

    标签: c# sitecore ribbon


    【解决方案1】:

    这里很好地解释了如何向 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];
      ...
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-15
      • 2013-11-26
      • 1970-01-01
      • 2021-03-01
      • 1970-01-01
      • 2016-05-27
      相关资源
      最近更新 更多