根据项目路径在功能区中显示额外选项

Posted

技术标签:

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

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

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

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

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

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

【问题讨论】:

【参考方案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];
  ...

【讨论】:

以上是关于根据项目路径在功能区中显示额外选项的主要内容,如果未能解决你的问题,请参考以下文章

everything-like项目

怎么更改anaconda的默认路径

vue项目打包后css背景图路径不对的问题

火狐默认的下载路径是哪里?

如何更改iOS文件的路径以显示项目路径

creator3.0设置文件相对路径