2016-06-27 7 views
0

Я создал настраиваемый datalist и поместил на него некоторые значения. Теперь я пытаюсь получить значения данных внутри скрипта, которые будут вызваны правилом. До сих пор, у меня есть проблемы, чтобы получить пользовательские DataList имени test с этим кодом:Alfresco javascript получить пользовательский DataList

var site = siteService.getSite(document.siteShortName); 
var dataLists = site.getContainer("datalists"); 
var listCompany = dataLists.childByNamePath("test"); 

Это кажется, что его возвращение нулевой объект, но я не могу понять, почему, я попытался с

"dataLists", 
"datalists" and 
"data-lists" 

, но по-прежнему нулевой объект ... Edit: После просмотра ИНТ он Solr лаг, у меня есть ошибка, которая говорит, что модель отслеживания не удалось NamespaceException. Что-то вроде моей модели уже определено ранее

Второй вопрос: Как я могу получить доступ к данным внутри справочника данных? Будет ли getElementById() работать?

test DataList, как:

'test' 
    field1: name, 
    field2: company, 
    field3:number, 
    field4: number2 
+0

Можете ли вы поместить некоторые данные для данных? – saravanakumar

+0

содержание datalist 4 текстовые поля – Emilie

+0

опубликуйте пример здесь для справки – saravanakumar

ответ

3

Надеюсь, что приведенный ниже сценарий поможет вам решить проблему с вашим каталогом.

var site = siteService.getSite(document.siteShortName); 
var dataListsContainer = site.getContainer("datalists"); 
var dataLists = dataListsContainer.getChildren(); 

logger.log("Data List length : " + dataLists.length); 
for(var x=0;x<dataLists.length;x++) 
{ 
    var dataList = dataLists[x]; //Get the current data list   
    var props = dataList.getProperties(); //Read the data list properties 
    var title = props["cm:title"]; //read the datalist's title property 
    logger.log("Data List title : " + title); 

    if (title.indexOf("<data_list_title_goes_here>") > -1){ //check whether it's the required data list or not 

     var dataListItems = dataList.getChildren(); //get the all datalistitems 
     logger.log("Total dataListItems : " + dataListItems.length +" for " + title); 
     for(var y = 0;y<dataListItems.length;y++) //Iterate all the datalistitems one by one 
     { 
      var dataListItem = dataListItems[y]; 
      var dataListItemProps = dataListItem.getProperties(); //Read all the properties of the current datalistitem  
      logger.log(dataListItemProps["namespace:propertyname"]); //read your custom property here 
      logger.log(dataListItemProps["namespace:propertyname"]); //read your custom property here 
      logger.log(dataListItemProps["namespace:propertyname"]); //read your custom property here 
     } 
    }  
} 
+0

Большое спасибо за ваш ответ, который действительно помогает мне !!! :) Сегодня утром я попытаюсь сделать что-то вроде того, что вы сделали, и прочитав свой код. Я пойму свою ошибку, я не позвонил, чтобы получить детей, поэтому он всегда дает пустое исключение. – Emilie

+0

Я только что улучшил свой код, и он отлично работает! Большое спасибо за вашу помощь. – Emilie

+0

Как я могу получить только настраиваемый datalist, который создается пользователем с использованием .xml-файла вместо пользовательского интерфейса? –

0

Если вы используете Серверный JavaScript, getElementById() не будет работать, и это для стороны клиента JavaScript.

Позвольте мне попробовать с моим обычным datalist и обновит вас. В то же время, можете ли вы поделиться, alfresco.log & Ошибка файла solr.log?

+0

На самом деле ошибка, которую я имел в журнале solr, была ошибкой, которую я сделал при написании uri моего datalist. – Emilie

 Смежные вопросы

  • Нет связанных вопросов^_^