前の質問に対する私の回答に示されているように、メソッドは呼び出され、その前にアンダースコアが付いているはず_isAvailable
です_isEnabled
。これが、なぜあなたのメソッドが解雇されないのかについての私の推測です。
したがって、JavaScriptで次のコードを使用してみてください。
Extensions.DynamicControls.prototype._isAvailable =
function DynamicControls$_isAvailable(selection, pipeline)
{
alert('Inside DynamicControls isAvailable');
if (pipeline) {
pipeline.stop = false;
}
return true;
}
Extensions.DynamicControls.prototype._isEnabled =
function DynamicControls$_isEnabled(selection, pipeline)
{
alert('Inside DynamicControls isEnabled');
if (pipeline) {
pipeline.stop = false;
}
return true;
}
ちなみに、名前空間Extensions.DynamicControls
を見ると、正しい参照を行っているかどうか疑問に思います。JavascriptはItemsGroup用ではなく、特定のボタン用であると想定されています。各コマンド(または必要に応じてボタン)には独自のビットがあります。それを可能にし、_execute
メソッドを持っているJavaScriptの。詳細については、他の質問に対する私の回答を参照してください。
CSSはボタンのレイアウト専用であり、実際にボタンを有効または無効にすることはありません。ただし、無効な画像を有効な状態に割り当てると、見た目がだまされている可能性があります。
ボタンのCSSは次のようになります。
/* large ribbon button image */
.tridion .ribbontoolbar .button.MyBtn .image,
.tridion .ribbontoolbar .button.MyBtn.ribbonitem .image
{
background-image: url({ThemePath}Images/my-btn-img.32x32.png);
}
.tridion .ribbontoolbar .button.MyBtn.ribbonitem.disabled .image
{
background-image: url({ThemePath}Images/my-btn-img.32x32.gray.png);
}
/* small ribbon button image */
.tridion .contextmenu .item.MyBtn .image,
.tridion .ribbontoolbar.minimized .button.MyBtn .image,
.tridion .ribbontoolbar.minimized .button.MyBtn.ribbonitem .image
{
background-image: url({ThemePath}Images/my-btn-img.16x16.png);
}
.tridion .ribbontoolbar.minimized .button.MyBtn.ribbonitem.disabled .image
{
background-image: url({ThemePath}Images/my-btn-img.16x16.gray.png);
}