Три атрибута, которые вы упомянули, на самом деле все указатели, которые связывают все расширение вместе. Если вы посмотрите выше в образце Джейми, вы увидите это:
<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 включить.