2014-10-16 2 views
1

Мне нужна помощь, заполнив выпадающий список в Alfresco Share. Я создал API-интерфейс WebScript, который я прочитал содержимое папки в репозитории. Как сервис в Alfresco (репозиторий), он работает. Однако мне нужен DropDown в Share.Заполнение PopDown List в Alfresco. Поделиться

Вот что я сделал в 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> 

мне нужен этот выпадающий список в Акцию. Поскольку такие переменные, как: userhome, companyhome и т. Д. Недоступны из Share WebScripts, я не знаю, как получить информацию от Alfresco и отобразить ее в Share. Любая помощь будет оценена по достоинству.

+0

Возможно, это может вам помочь -> http://stackoverflow.com/questions/17150808/dynamic-selectone-in-alfresco-share – Miki

+0

Возникает вопрос, как получить домашний и пользовательский домашние узлы компании в Share- боковой javascript? Или что-то другое? – Gagravarr

ответ

2

С помощью javascript-контроллера share alfresco вы можете вызывать webscript alfresco и извлекать данные из веб-страницы alfresco в формате json. Ниже приведен один пример, который вызывает сторонний веб-сайт alfresco из общего контроллера javascript.

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, имеет под открытым небом WebScript URL, который будет возвращать данные в формате JSON format.you также может возвращать данные в другом формате зависит от ваших требований.

+0

Пока мы по теме, мне это удалось. Спасибо, но теперь, поскольку мои папки находятся в письмах Cyrilyc. Я получаю сообщение об ошибке: <#list companyhome.childByNamePath ["Cyrilyc folder name"]. Children as child> Если я сменил папку с английским именем, она будет работать. Я понятия не имею, что делать. –