如何仅为文件夹操作显示GUI扩展按钮?

时间:2012-09-21 12:06:12

标签: tridion tridion-2011

我创建了一个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>

2 个答案:

答案 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参数传递给此方法。您可以从中确定哪些项目(以及它们的类型),从而确定何时启用/禁用您的按钮。