我需要在tridion功能区中一个接一个地创建按钮。
我创建了一个usercontrol,它出现在功能区上但处于禁用模式。
在“http://tridiondeveloper.com/ribbon-item-group”;有人提到在配置中包含<ext:issmallbutton>true</ext:issmallbutton>
在我的扩展元素中。我已将它包含在extension.config文件中。但我面临的错误如“加载扩展失败 - 有无效的子元素'issmallbutton'。所以,目前我忽略了这一步,按钮处于禁用模式。
请您告诉我需要添加的内容。(<ext:issmallbutton>true</ext:issmallbutton>
)并启用按钮。
答案 0 :(得分:5)
正如Jeremy的回答所示,你不需要ext:issmallbutton
来启用你的按钮(你在Tridion Developer上提到my article,我在那里明确指出{{当你想要将按钮叠放在另一个上面时,不要使用1}}。
您可能应该尝试调试JavaScript并查看ext:issmallbutton
和_isAvailable(selection, pipeline)
方法中发生的情况。
isAvailable方法应指示该命令是否适用于所选项,isEnabled方法指示是否可以执行该命令。我通常只是让isEnabled方法返回isAvailable的结果(因为当按钮可用时,它应该大多数时候也应该被启用)。选择页面后如何启用按钮的示例如下所示:
_isEnabled(selection, pipeline)
现在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
元素那样进入:{ / p>
ext:extension
您可以在Setting up a SDL Tridion 2011 GUI extension in 8 steps中找到更多信息。
答案 1 :(得分:4)
要启用按钮,您需要使用isEnabled方法返回true。 issmallbutton仅确定工具栏中按钮的大小。有关如何创建按钮扩展的信息,请查看关于同一主题的许多其他问题...