Hi all!
I cannot make FileExplorer to show files and folders in the root folder. Everything is OK for child folders.
I have custom
Any help will be appreciated.
I cannot make FileExplorer to show files and folders in the root folder. Everything is OK for child folders.
I have custom
FileBrowserContentProvider:
public override DirectoryItem ResolveRootDirectoryAsTree(string path){ Assert.ArgumentNotNull(path, "path"); if (path.Length == 0) { path = "/media library/"; } Item item = GetItem(path); if (item == null) { return null; } PathPermissions permissions = GetPermissions(item); DirectoryItem result = new DirectoryItem(item.DisplayName, GetParentPath(item), string.Empty, string.Empty, permissions, GetChildFiles(item), GetChildDirectories(item)); return result;}static DirectoryItem[] GetChildDirectories(Item item) { Assert.ArgumentNotNull(item, "item"); List<DirectoryItem> result = new List<DirectoryItem>(); foreach (Item child in item.Children) { if (child.TemplateID != TemplateIDs.MediaFolder) { continue; } PathPermissions permissions = GetPermissions(child); DirectoryItem directoryItem = new DirectoryItem(child.Name, string.Empty, child.Paths.Path, string.Empty, permissions, null, null); result.Add(directoryItem); } return result.ToArray();}
public override DirectoryItem ResolveDirectory(string path){ Assert.ArgumentNotNull(path, "path"); Item item = GetItem(path); if (item == null) { return null; } PathPermissions permissions = GetPermissions(item);
return new DirectoryItem(item.DisplayName, string.Empty, item.Paths.Path, string.Empty, permissions, GetChildFiles(item), null);}static FileItem[] GetChildFiles(Item item){ Assert.ArgumentNotNull(item, "item"); List<FileItem> result = new List<FileItem>(); foreach (Item child in item.Children) { if (child.TemplateID == TemplateIDs.MediaFolder) { continue; } PathPermissions permissions = GetPermissions(child); MediaItem mediaItem = child; MediaUrlOptions options = new MediaUrlOptions(); options.UseItemPath = false; string url = MediaManager.GetMediaUrl(child, options); FileItem directoryItem = new FileItem(child.Name + "." + mediaItem.Extension, mediaItem.Extension, mediaItem.Size, string.Empty, url, string.Empty, permissions); result.Add(directoryItem); } return result.ToArray();}