1

我正在开发一个 Aikau 共享页面,其中我有一个使用 Alfresco 共享文档库树选择器的侧栏。选择器允许我将 nodeRef 发布到另一个将显示信息的小部件。我想使用树视图,但我无法显示文档,它只显示容器/文件夹。任何人都知道我需要做什么才能解决这个问题?

这是我正在使用的爱夸代码:

{
        align: "sidebar",
        name: "alfresco/layout/Twister",
        config: {
         label: "twister.library.label",
         additionalCssClasses: "no-borders",
         widgets: [
                {
                    name: "alfresco/navigation/PathTree",
                    config: {
                       showRoot: true,
                       rootLabel: "Repository",
                       rootNode: "/app:company_home",
                       publishTopic: "ALF_ITEM_SELECTED"
                    }
                    }                       
                ]
            }   
}

我想知道我是否需要为 CoreXhr 编写一个扩展,或者为了使这项工作能够执行哪些步骤。

任何帮助,将不胜感激

4

1 回答 1

1

我能够弄清楚这一点。问题来自露天资源管理器端“treenode.get.js”中的存储库脚本。解决方案是执行以下操作

  1. 在 alfresco explorer 中创建一个新的 webscript 并将 treenode.get.js 代码复制到新的 webscript 中。我最终调用了我的 customtreenode.get.js。
  2. 删除新创建的 webscript 中对 IsContainer 的逻辑检查
  3. 创建扩展 PathTree 的新 Aikau 文件。这是下面的代码

        define(["dojo/_base/declare",
        "alfresco/navigation/PathTree",
        "alfresco/documentlibrary/_AlfDocumentListTopicMixin",
        "service/constants/Default",
        "dojo/_base/lang",
        "dojo/_base/array",
        "dojo/dom-class",
        "dojo/query",
        "dojo/NodeList-dom"], 
        function(declare, PathTree, _AlfDocumentListTopicMixin, AlfConstants, lang, array, domClass, query) {
    
        return declare([PathTree, _AlfDocumentListTopicMixin], {
    
                useHash: true,
    
                 getTargetUrl: function alfresco_navigation_Tree__getTargetUrl() {
                     var url = null;
                     if (this.siteId && this.containerId)
                     {
                        url = AlfConstants.PROXY_URI + "slingshot/doclib/treenodeCustom/site/" + this.siteId + "/documentlibrary";
                     }
                     else if (this.rootNode)
                     {
                        url = AlfConstants.PROXY_URI + "slingshot/doclib/treenodeCustom/node/alfresco/company/home";
                     }
                     else if (!this.childRequestPublishTopic)
                     {
                        this.alfLog("error", "Cannot create a tree without 'siteId' and 'containerId' or 'rootNode' attributes", this);
                     }
                     return url;
                 }
        });
     });
    
  4. 更改您的代码以使用新的 CustomPathTree

        {
        align: "sidebar",
        name: "alfresco/layout/Twister",
        config: {
         label: "twister.library.label",
         additionalCssClasses: "no-borders",
         widgets: [
                {
                    name: "CustomWidgets/widgets/CustomTreeNode",
                    config: {
                       showRoot: true,
                       rootLabel: "Repository",
                       rootNode: "/app:company_home",
                       publishTopic: "ALF_ITEM_SELECTED"
                      }
                    }
                ]
            }   
    }
    

之后它就起作用了。我仍然需要将图标从文件夹更改为文档。

于 2015-12-03T04:57:27.810 回答