当用户在高级搜索屏幕下拉菜单中选择复杂资产时,将填充自定义搜索 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中编写这个逻辑?
问问题
192 次
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 回答