Tridion GUI Extensions CommandSet如何映射到js方法?

rob*_*rtc 5 tridion

Tridion GUI Extension配置如何将名称映射到JS文件?例如,我正在使用Jaime的HelloWorld帖子和示例文件.最重要的部分是CommandSet部分.

<cfg:commandset id="HelloWorldCM.Interface">   
  <cfg:command name="HelloWorldCM" implementation="Extensions.HW"/>
  <cfg:dependencies>
    <cfg:dependency>HelloWorldCM.Commandset</cfg:dependency>
  </cfg:dependencies>
</cfg:commandset>
Run Code Online (Sandbox Code Playgroud)

有人可以帮我理解以下属性以及它们如何映射到扩展的基础.js文件?

  • 名称
  • 履行
  • CFG:依赖

我已尝试在config和js文件中更改这些内容,但它们如何映射是一个谜.

Chr*_*ers 10

你提到的三个属性实际上是将整个扩展绑定在一起的所有指针.如果你在Jamie的样本中看起来更高,你会看到:

<ext:contextmenus>
  <ext:add>
    <ext:extension name="HelloWorldCMExtension" assignid="" insertbefore="cm_refresh">
      <ext:menudeclaration>
        <cmenu:ContextMenuItem id="ext_HelloWorldCM" name="Hello World!" command="HelloWorldCM"/>
      </ext:menudeclaration>                            
      <ext:dependencies>
        <cfg:dependency>HelloWorldCM.Example</cfg:dependency>
      </ext:dependencies>              
      <ext:apply>
        <ext:view name="DashboardView"/>
      </ext:apply>
    </ext:extension>
  </ext:add>          
</ext:contextmenus>
Run Code Online (Sandbox Code Playgroud)

此XML为CME的上下文菜单添加了一个按钮.

command="HelloWorldCM"是指具有匹配name属性的命令commandset

implementation="Extensions.HW" 在命令集中实际引用随附的HellowWorldCM.js文件中的命名空间

cfg:dependency指向<cfg:group name="HelloWorldCM.Commandset" merger="Tridion.Web.UI.Core.Configuration.Resources.CommandGroupProcessor" merge="always">节点上配置文件的顶部,以便知道要包含哪些CSS和JS.