当用户在高级搜索屏幕下拉菜单(文件夹,内容除外)中选择复杂资源时,将填充自定义搜索用户界面,其中将显示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中编写此逻辑?
答案 0 :(得分:0)
实际上不可能在faceted-search.get.js文件中读取这些URL哈希属性,因为WebScript的JavaScript控制器无法访问URL的那一部分(它只包含有关URL和URL的信息)请求参数,而不是哈希参数。)
哈希参数实际上是由AlfSearchList小部件在客户端处理的。
也许你可以解释一下你想要实现的目标,这样我就可以提出一个替代方案 - 即用户的最终目标,而不是你想要实现的编码细节。
答案 1 :(得分: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的建议。