ext:issmallbutton
Jeremyの回答で示されているように、ボタンを有効にする必要はありません( Tridion Developerに関する私の記事ext:issmallbutton
で、ボタンを積み重ねるときには使用しないと具体的に述べています)。
JavaScriptをデバッグして_isAvailable(selection, pipeline)
、_isEnabled(selection, pipeline)
メソッドで何が起こっているかを確認する必要があります。
isAvailableメソッドは、コマンドが選択したアイテムに適用可能かどうかを示し、isEnabledメソッドはコマンドを実行できるかどうかを示します。私は通常、isEnabledメソッドにisAvailableメソッドの結果を返すようにします(ボタンが使用可能になると、ほとんどの場合、ボタンも有効になっているはずです)。ページを選択したときにボタンを有効にする方法の例は、次のようになります。
Example.PageBtn.prototype._isAvailable = function PageBtn$_isAvailable(selection, pipeline) {
if (pipeline) {
pipeline.stop = false;
}
if (selection.getCount() == 1) {
var itemType = $models.getItemType(selection.getItem(0));
return itemType && (itemType == $const.ItemType.PAGE);
}
return false;
};
Example.PageBtn.prototype._isEnabled = function PageBtn$_isEnabled(selection, pipeline) {
if (pipeline) {
pipeline.stop = false;
}
return this._isAvailable(selection);
};
これで、ext:issmallbutton
要素はこれとは何の関係もありませんが、正確にどこで使用する必要があるかを知りたい場合は、次のようにext:extension
要素内に配置する必要があります。
<ext:extension assignid="PageBtn" groupid="MyGroup" name="Example" pageid="HomePage">
<ext:command>PageBtn</ext:command>
<ext:title>Example</ext:title>
<ext:issmallbutton>true</ext:issmallbutton>
<ext:dependencies>
<cfg:dependency>Example.Commands</cfg:dependency>
</ext:dependencies>
<ext:apply>
<ext:view name="DashboardView">
<ext:control id="DashboardToolbar" />
</ext:view>
</ext:apply>
</ext:extension>
詳細については、SDL Tridion2011GUI拡張機能のセットアップの8つのステップを参照してください。