我创建了一个GUI按钮,我想在用户只选择任何文件夹时启用该按钮。
我试图像下面一样给出配置xml,但它总是显示。
<ext:apply>
<ext:view name="DashboardView">
<ext:control id="DashboardToolbar"/>
</ext:view>
<ext:view name="FolderView">
<ext:control id="ItemToolbar"/>
</ext:view>
</ext:apply>
答案 0 :(得分:3)
您必须使用以下检查在isEnabled
界面中实现Command
方法,以确保所选元素的类型为FOLDER。
YourEditor.YourCommand.prototype.isEnabled =
function YourCommand$isEnabled(selection) {
var itemID = selection.getItem(0);
if ($models.getItemType(itemID) != $const.ItemType.FOLDER) {
return false;
}
else
return true;
};
true
功能上返回isEnabled
,则会启用该按钮。false
,该按钮将被停用如果您需要有关如何设置扩展程序的更多信息,请参阅:
答案 1 :(得分:1)
没有“FolderView”这样的东西。将Tridion的GUI视图视为一个屏幕。所以你有DashboardView左边有一棵树,右边有一个列表,那么当你打开一个组件时会弹出一个Component视图,等等。
根据您的要求,您将向DashboardView添加一个按钮,并希望它根据选择启用/禁用。您必须在命令的JavaScript的isEnabled
方法中实现该逻辑。
如果查看那里的任何现有扩展,您将看到将selection
参数传递给此方法。您可以从中确定哪些项目(以及它们的类型),从而确定何时启用/禁用您的按钮。