Как набор команд Tridion GUI Extensions для методов js? - PullRequest
5 голосов
/ 22 февраля 2012

Как в конфигурации расширения Tridion GUI сопоставляются имена с файлом JS? Например, я использую сообщение HelloWorld от Jaime с примерами файлов. Наиболее важной частью кажется раздел 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>

Может кто-нибудь помочь мне понять следующие атрибуты и как они сопоставляются с базовым файлом .js для расширения?

  • имя
  • реализация
  • CFG: зависимость

Я пытался изменить эти вещи как в config, так и в js-файле, но как они отображаются, остается загадкой.

1 Ответ

10 голосов
/ 22 февраля 2012

Три атрибута, которые вы упомянули, на самом деле все указатели, которые связывают все расширение вместе. Если вы посмотрите выше в образце Джейми, вы увидите это:

<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>

Этот 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 включить.

...