protected override IEnumerable <Navigation> GetDynamicNavigations(string presentAreaKey, long ownerId = 0) { List <Navigation> navigations = new List <Navigation>(); if (presentAreaKey != PresentAreaKeysOfBuiltIn.Channel) { return(navigations); } ContentFolderService contentFolderService = new ContentFolderService(); IEnumerable <ContentFolder> contentFolders = contentFolderService.GetRootFolders(); if (contentFolders != null) { foreach (var contentFolder in contentFolders) { if (!contentFolder.IsEnabled) { continue; } string url = SiteUrls.Instance().FolderDetail(contentFolder.ContentFolderId); if (contentFolder.IsLink) { url = contentFolder.LinkUrl; } int navigationId = NavigationService.GenerateDynamicNavigationId(contentFolder.ContentFolderId); Navigation navigation = new Navigation() { ApplicationId = ApplicationId, Depth = 1, NavigationId = navigationId, NavigationText = contentFolder.FolderName, ParentNavigationId = 10101501, IsEnabled = true, NavigationTarget = "_self", NavigationUrl = url, PresentAreaKey = PresentAreaKeysOfBuiltIn.Channel, DisplayOrder = (int)contentFolder.DisplayOrder + 90000000 }; if (contentFolder.IsLink && contentFolder.IsLinkToNewWindow) { navigation.NavigationTarget = "_blank"; } navigations.Add(navigation); } } return(navigations); }
/// <summary> /// 获取一级栏目 /// </summary> public Dictionary <int, string> GetRootFolderDictionary() { var folders = contentFolderService.GetRootFolders(); if (folders == null) { return(null); } if (!string.IsNullOrEmpty(contentTypeKey)) { folders = folders.Where(n => n.ContentTypeKeys.Split(',').Contains(contentTypeKey)); } if (onlyModerated.HasValue && onlyModerated.Value) { var authorizer = DIContainer.Resolve <Authorizer>(); folders = folders.Where(n => authorizer.CMS_ManageContentFolder(n)); } return(folders.Where(n => n.ContentFolderId != exceptFolderId && !n.IsLink) .ToDictionary(n => n.ContentFolderId, n => StringUtility.Trim(n.FolderName, 7))); }