0

当用户在高级搜索屏幕下拉菜单中选择复杂资产时,将填充自定义搜索 UI(文件夹、内容除外),其中将显示 12 个字段。因此,当用户单击搜索按钮时,需要读取这些值并重定向到 alfresco repo文件(org/alfresco/slingshot/search/search.get.js)。我们已经自定义了存储库中存在的这些文件(search.get.js,search.lib.js),以适应逻辑并在 4.2 中正常工作。 2;由于我们正在迁移到511,所以我们需要在自定义的faceted-search.get.js中更改这个逻辑来读取这些值。如何在自定义的facted-search.get.js中编写这个逻辑?

4

2 回答 2

0

实际上不可能在 faceted-search.get.js 文件中读取这些 URL 哈希属性,因为 WebScript 的 JavaScript 控制器无法访问 URL 的那部分(它只有有关 URL 和请求参数的信息,不是哈希参数)。

哈希参数实际上是由AlfSearchList小部件在客户端处理的。

也许您可以解释您要实现的目标,以便我可以提出替代方案 - 即用户的最终目标,而不是您要实现的编码的细节。

于 2016-12-13T10:49:17.363 回答
0

我们将在 .get.js 文件中读取类似下面的查询字符串值。

function getNodeRef(){
    var queryString = page.url.getQueryString();
    var nodeRef = "NOT FOUND";
    var stringArray = queryString.split("&");
    for (var t = 0; t < stringArray.length; t++) {
        if (stringArray[t].indexOf('nodeRef=') > -1) {
            nodeRef = stringArray[t].split('=')[1];
            break;
        }
    }
    if (nodeRef !== "NOT FOUND") {
        nodeRef = nodeRef.replace("://", "/");
        return nodeRef;
    }
    else {
        throw new Error("Node Reference is not found.");
    }
}

这可能会对您有所帮助,我们也会等待 Dave Drapper 的建议。

于 2016-12-13T11:10:53.447 回答