3

GUIボタンを作成しましたが、ユーザーが任意のフォルダーのみを選択したときにボタンを有効にします。

以下のようにconfigxmlを指定しようとしましたが、常に表示されます。

          <ext:apply>                
            <ext:view name="DashboardView">
              <ext:control id="DashboardToolbar"/>
            </ext:view>
              <ext:view name="FolderView">
                  <ext:control id="ItemToolbar"/>
              </ext:view>

          </ext:apply>
4

2 に答える 2

3

選択した要素のタイプがFOLDERであることを確認するために、次のチェックを使用しisEnabledてインターフェイスにメソッドを実装する必要があります。Command

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;   
};
  • 機能に戻るtrueisEnabled、ボタンが有効になります。
  • 戻るfalseと、ボタンが無効になります

拡張機能の設定方法に関する詳細情報が必要な場合は、以下を参照してください。

于 2012-09-21T12:20:41.753 に答える
1

「FolderView」のようなものはありません。TridionのGUIのビューを画面と考えてください。つまり、左側にツリーがあり、右側にリストがあるDashboardViewがあり、コンポーネントを開くとポップアップするコンポーネントビューなどがあります。

要件を考慮して、DashboardViewにボタンを追加し、選択に基づいてボタンを有効/無効にします。isEnabledコマンドのJavaScriptのメソッドにそのロジックを実装する必要があります。

そこにある既存の拡張機能のいずれかを見ると、selectionパラメーターがこのメソッドに渡されていることがわかります。その中からどのアイテム(したがってそれらのタイプ)を決定し、ボタンをいつ有効/無効にするかを決定できます。

于 2012-09-21T12:16:12.700 に答える