私は自分が間違っていることについて少し戸惑っているので、うまくいけば、これをそこに投げ出すことによって、誰かが私にうまくいけば明白な何かを指摘できるはずです。
Tridionリボンバーの新しい[イベント]タブにボタンとして配置される新しいGUI拡張機能が作成されています。ボタンを表示することはできますが、ボタンのアイコンが表示されず、常に無効になっているため、拡張機能のスタイルシートとJavaScriptリソースが読み込まれていないと思われます:S
私のエディター構成は次のとおりです。
<?xml version="1.0"?>
<Configuration xmlns="http://www.sdltridion.com/2009/GUI/Configuration/Merge" xmlns:cfg="http://www.sdltridion.com/2009/GUI/Configuration" xmlns:ext="http://www.sdltridion.com/2009/GUI/extensions" xmlns:cmenu="http://www.sdltridion.com/2009/GUI/extensions/ContextMenu">
<resources>
<cfg:filters/>
<cfg:groups>
<cfg:group name="Events.Cvent">
<cfg:fileset>
<cfg:file type="style">/Theme/cvent.css</cfg:file>
<cfg:file type="reference">Events.Commands.Cvent</cfg:file>
</cfg:fileset>
</cfg:group>
<cfg:group name="Events.Cvent.Commandset">
<cfg:fileset>
<cfg:file type="script">/Scripts/cvent.js</cfg:file>
</cfg:fileset>
<cfg:dependencies>
<cfg:dependency>Tridion.Web.UI.Editors.CME</cfg:dependency>
<cfg:dependency>Tridion.Web.UI.Editors.CME.commands</cfg:dependency>
</cfg:dependencies>
</cfg:group>
</cfg:groups>
</resources>
<definitionfiles/>
<extensions>
<ext:dataextenders/>
<ext:editorextensions>
<ext:editorextension target="CME">
<ext:editurls/>
<ext:listdefinitions/>
<ext:taskbars/>
<ext:commands/>
<ext:commandextensions/>
<ext:contextmenus/>
<ext:lists/>
<ext:tabpages/>
<ext:toolbars/>
<ext:ribbontoolbars>
<ext:add>
<ext:extension assignid="EventsPage" name="Events">
<ext:control/>
<ext:pagetype/>
<ext:apply>
<ext:view name="DashboardView">
<ext:control id="DashboardToolbar"/>
</ext:view>
</ext:apply>
</ext:extension>
<ext:extension assignid="EventsAdministrationGroup" pageid="EventsPage" name="Administration">
<ext:group/>
<ext:apply>
<ext:view name="DashboardView">
<ext:control id="DashboardToolbar"/>
</ext:view>
</ext:apply>
</ext:extension>
<ext:extension assignid="CventBtn" groupid="EventsAdministrationGroup" name="Import Cvent Events" pageid="EventsPage">
<ext:command>Cvent</ext:command>
<ext:title>Import Cvent Events</ext:title>
<ext:dependencies>
<cfg:dependency>Events.Cvent</cfg:dependency>
</ext:dependencies>
<ext:apply>
<ext:view name="DashboardView">
<ext:control id="DashboardToolbar"/>
</ext:view>
</ext:apply>
</ext:extension>
</ext:add>
</ext:ribbontoolbars>
</ext:editorextension>
</ext:editorextensions>
<ext:modelextensions/>
</extensions>
<commands>
<cfg:commandset id="Events.Commands.Cvent">
<cfg:command name="Cvent" implementation="Events.Commands.OpenCvent"/>
<cfg:dependencies>
<cfg:dependency>Events.Cvent.Commandset</cfg:dependency>
</cfg:dependencies>
</cfg:commandset>
</commands>
<contextmenus/>
<localization/>
<settings>
<defaultpage/>
<editurls/>
<listdefinitions/>
<theme>
<path>/Theme/</path>
</theme>
<customconfiguration>
<clientconfiguration xmlns="http://www.sdltridion.com/2009/GUI/Configuration/Merge">
<Cventurl xmlns="http://www.sdltridion.com/2009/GUI/Configuration/Merge">/Cvent/Cvent.aspx</Cventurl>
</clientconfiguration>
</customconfiguration>
</settings>
</Configuration>
必要なすべてのリソースファイル(javascriptとcss)は、構成に従ってディレクトリにあります。私のJSforGUIは次のようになります。
Type.registerNamespace("Events.Commands");
Events.Commands.OpenCvent = function Commands$OpenCvent(name)
{
Type.enableInterface(this, "Events.Commands.OpenCvent");
this.addInterface("Tridion.Cme.Command", ["Cvent"]);
this.properties.url;
};
Events.Commands.OpenCvent.prototype._isAvailable = function OpenCvent$_isAvailable(selection, pipeline)
{
return true;
};
Events.Commands.OpenCvent.prototype._isEnabled = function OpenCvent$_isEnabled(selection, pipeline)
{
return true;
};
Events.Commands.OpenCvent.prototype._execute = function OpenCvent$_execute(selection, pipeline)
{
window.open('www.google.com');
};
Tridionを再起動しましたが、まだ何もありません。何が間違っているのでしょうか。