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

Tridion 如何仅为文件夹操作显示GUI扩展按钮?,tridion,tridion-2011,Tridion,Tridion 2011,我已经创建了一个GUI按钮,我想在用户仅选择任何文件夹时启用该按钮 我试图给出如下所示的配置xml,但它总是显示出来 <ext:apply> <ext:view name="DashboardView"> <ext:control id="DashboardToolbar"/> </ext:view>

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

没有“FolderView”这样的东西。将Tridion GUI中的视图想象为屏幕。因此,仪表板视图左侧有一棵树,右侧有一个列表,然后在打开组件时会弹出一个组件视图,等等

根据您的要求,您正在向仪表板视图添加一个按钮,并希望根据选择启用/禁用该按钮。您必须在命令JavaScript的
isEnabled
方法中实现该逻辑


如果您查看任何现有的扩展,您将看到一个
选择
参数被传递到这个方法中。您可以从中确定哪些项目(以及它们的类型),从而确定何时启用/禁用按钮。

您必须在
命令
界面中通过以下检查实现
isEnabled
方法,以确保所选元素的类型为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;   
};

  • 如果在
    isEnabled
    功能上返回
    true
    ,则该按钮将被启用
  • 如果返回
    false
    ,则该按钮将被禁用
如果您需要有关如何设置扩展的更多信息,请参阅:

return($models.getItemType(itemID)=$const.ItemType.FOLDER);