正如杰里米的答案所示,你不需要ext:issmallbutton
来启用y我们的按钮(你在Tridion Developer上提到my article,我特别声明,当你想在彼此之上堆叠按钮时,不会使用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>
可以在Setting up a SDL Tridion 2011 GUI extension in 8 steps找到更多信息。
很高兴看到有人在做这个类型的设置,但-1在这个问题上缺少*不*使用'对文章的观点<分机:issmallbutton>'并跳过'建立一个支持SDL Tridion 2011步骤在8个步骤中的GUI扩展,它显示了如何验证配置文件并获取按钮来显示。尽管你的其他问题和接受的答案显示了进展,祝你好运,并保持提问。 – 2012-08-13 14:54:02