两级上下文菜单,如下图所示


8

我一直在创造一个炼金术插件,并希望把它作为一个上下文菜单:

enter image description here

进一步,我希望它只是出现对于模式和组件,没有其他地方。我有下面的代码为这个在相应的命令JS文件:

isAvailable: function (selection) 
  { 
   var item = $models.getItem(selection.getItem(0)); 
   var itemTypeName = item.getItemTypeName(); 
   if (itemTypeName == "Component" || itemTypeName == "Schema") 
   { 
   return true; 
   } 
   return false; 
  } 

虽然这工作得很好,如果我现在用鼠标右键单击一个模式或组件,但如果我右键点击其他一些项目类型,我得到这个作为下面:当我悬停My PlugIn菜单上

enter image description here

什么也没有发生 - 这意味着Option1More Options...和更多选项菜单中的其他孩子是不可见/可用。

了整个方案的工作正常,如果我有这些菜单1级深度而不是只2级深度,如下图所示:

enter image description here

有人可以分享他们的知识,让我知道,如果我我错过了什么。

  0

可以共享代码,以证明你是如何加入项目结构到在上下文菜单第一个地方? (我认为这是AddSubMenu,但要确认) 14 1月. 162016-01-14 13:08:31

3

的Pankaj,当您单击例如一个文件夹,什么是itemTypeName(大概是组件或架构,然后是一个?

如果您尝试(只是最初的组件)......做这项工作?

if (item.length >= 1 && item.getItemType() == 'tcm:16') { 
    return true; 
    } 
    else { 
     return false; 
    } 
} 

UPDATE给出的错误不是的IsEnabled的返回值,但之后会发生什么

潘卡 - 定的文档指出,你在做什么,应该是我的炼金术回购创造了这个GIT issue可行的,因为我相信这是一个错误

  • 在配置中炼金术是输出安圭拉或
  • 在安圭拉
  • 在不支持嵌套(无论是在一般或与炼金术输出)
  0

我已经尝试过这一点,甚至试图只返回“假” - 仍然无法使用 06 1月. 162016-01-06 04:22:59