Alfresco分享Aikau PathTree不仅显示文件夹

时间:2015-12-03 01:04:11

标签: dojo alfresco alfresco-share aikau

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

这是我正在使用的Aikua代码:

{
        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编写扩展或者为了使这项工作有什么步骤。

任何帮助将不胜感激

1 个答案:

答案 0 :(得分: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"
                      }
                    }
                ]
            }   
    }
    
  5. 之后有效。我仍然需要将图标从文件夹更改为文档。