Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        /// <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)));
        }