МыSharePoint JSOM: получить SPFolder значение настраиваемого поля
- SharePoint 2013 Библиотека документов
- типа контента добавляются в библиотеку, на основе стандартного «Папка» тип контента; новое «DisplayName» текстовое поле добавлено к типу контента
- несколько папок этого типа пользовательского контента были созданы в библиотеке документов
Я пытаюсь сделать контроль JavaScript, чтобы визуализировать структуру папок из библиотеки. Но я не могу получить значение поля «DisplayName»
this.clientContext = SP.ClientContext.get_current();
var web = this.clientContext.get_web();
this.clientContext.load(web);
this.clientContext.executeQueryAsync(function(sender, args) {
for (var i = 0; i < this.topLevelFoldersUrl.length; i++) {
var contextParams = {};
contextParams.folderUrl = web.get_serverRelativeUrl() + "/" + this.topLevelFoldersUrl[i];
// folder
contextParams.topLevelFolder = web.getFolderByServerRelativeUrl(contextParams.folderUrl);
this.clientContext.load(contextParams.topLevelFolder, 'Include(DisplayName)');
// folder list item
contextParams.folderListItem = contextParams.topLevelFolder.get_listItemAllFields();
this.clientContext.load(contextParams.folderListItem);
// subfolders
contextParams.folderCollection = contextParams.topLevelFolder.get_folders();
this.clientContext.load(contextParams.folderCollection);
this.clientContext.executeQueryAsync(
function (sender, args) {
var folderName = contextParams.topLevelFolder.get_name();
// EXCEPTION goes here: "property has not been initialized"
var folderDisplayName = contextParams.folderListItem.get_item("DisplayName");
// visualization code...
},
this.onQueryFailed
);
}
}, this.onQueryFailed);
Есть ли специальная техника для получения пользовательских полей в папке? Я искал все образцы кода для получения элементов списка и их настраиваемых полей, но образцы не работают в моем случае.