我需要帮助填写Alfresco Share中的下拉列表。我创建了一个WebScript API,我读取了存储库中文件夹的内容。作为Alfresco(存储库)中的服务,它可以工作。但是,我需要在Share中使用DropDown。
以下是我在Alfresco所做的事情:
var folder = roothome.childByNamePath(url.extension);
if (folder == undefined || !folder.isContainer)
{
status.code = 404;
status.message = "Folder " + url.extension + " not found.";
status.redirect = true;
}
model.folder = folder;
<webscript>
<shortname>Folder Listing Sample</shortname>
<description>Sample demonstrating the listing of folder contents</description>
<url>/folder/{path}</url>
<format default="html">argument</format>
<authentication>user</authentication>
<transaction>required</transaction>
</webscript>
<html>
<head>
<title>${folder.displayPath}/${folder.name}</title>
</head>
<body>
Folder: ${folder.displayPath}/${folder.name}
<br>
<select id='selectItems' name='selectItems' onchange='dropdown2()'>
<#list folder.children as child>
<option value='${child.nodeRef}'>${child.properties.name}</option>
</#list>
</select>
</body>
</html>
<#macro encodepath node><#if node.parent?exists><@encodepath node=node.parent/>/${node.name?url}</#if></#macro>
我需要在Share中下拉。由于无法从Share WebScripts访问像userhome,companyhome等变量,我不知道如何从Alfresco获取信息并将其显示在Share中。任何帮助将不胜感激。
答案 0 :(得分:2)
从alfresco共享的javascript控制器,你可以调用alfresco的webscript并从json格式的alfresco webscript中检索细节。下面是一个从share javascript控制器调用alfresco side webscript的例子。
try
{
var url = "/slingshot/webscript/from/alfresco/url";
logger.log("url: " + url);
// Request the current user's preferences
var result = remote.call(url);
if (result.status == 200 && result != "{}")
{
logger.log(result);
var nodeInfo = eval('(' + result + ')');
nodeRef = nodeInfo.parent.nodeRef;
}
}
catch (e)
{ }
在上面的url中,是alfresco webscript url,它将以json格式返回数据。你也可以根据你的要求以其他格式返回数据。