コード例 #1
0
        public ActionResult SitemapMenu(string languageCode)
        {
            var renderIFrame = string.IsNullOrWhiteSpace(languageCode);
            var model        = new SitemapMenuViewModel
            {
                ObsoleteMenuItems = new List <MenuItemViewModel>(),
                MenuItems         = new List <MenuItemViewModel>(),
                RenderIFrame      = renderIFrame,
                LanguageCode      = languageCode
            };

            using (var api = ApiFactory.Create())
            {
                var languageId = GetLanguageId(api, languageCode);
                var sitemapId  = GetSitemapId(api);
                if (sitemapId.HasValue)
                {
                    var request = new Module.Api.Operations.Pages.Sitemap.Tree.GetSitemapTreeRequest {
                        SitemapId = sitemapId.Value
                    };
                    request.Data.LanguageId = languageId ?? new Guid();
                    var response = api.Pages.Sitemap.Tree.Get(request);
                    if (response.Data.Count > 0)
                    {
                        model.ObsoleteMenuItems = response.Data.Select(mi => new MenuItemViewModel {
                            Caption = mi.Title, Url = mi.Url, IsPublished = mi.PageIsPublished
                        }).ToList();
                    }

                    var request1 = new Module.Api.Operations.Pages.Sitemaps.Sitemap.Tree.GetSitemapTreeRequest {
                        SitemapId = sitemapId.Value
                    };
                    request1.Data.LanguageId = languageId ?? new Guid();
                    var response1 = api.Pages.SitemapNew.Tree.Get(request1);
                    if (response.Data.Count > 0)
                    {
                        model.MenuItems = response1.Data.Select(mi => new MenuItemViewModel {
                            Caption = mi.Title, Url = mi.Url, IsPublished = mi.PageIsPublished
                        }).ToList();
                    }
                }

                if (model.RenderIFrame)
                {
                    model.LanguageCodes = api.Root.Languages.Get(new GetLanguagesRequest()).Data.Items.Select(l => l.Code).ToList();
                }
            }

            return(View("~/Views/SitemapMenu/Index.cshtml", model));
        }
コード例 #2
0
        public ActionResult SitemapMenu(string languageCode)
        {
            var renderIFrame = string.IsNullOrWhiteSpace(languageCode);
            var model = new SitemapMenuViewModel
                        {
                            ObsoleteMenuItems = new List<MenuItemViewModel>(),
                            MenuItems = new List<MenuItemViewModel>(),
                            RenderIFrame = renderIFrame,
                            LanguageCode = languageCode
                        };

            using (var api = ApiFactory.Create())
            {
                var languageId = GetLanguageId(api, languageCode);
                var sitemapId = GetSitemapId(api);
                if (sitemapId.HasValue)
                {
                    var request = new Module.Api.Operations.Pages.Sitemap.Tree.GetSitemapTreeRequest { SitemapId = sitemapId.Value };
                    request.Data.LanguageId = languageId ?? new Guid();
                    var response = api.Pages.Sitemap.Tree.Get(request);
                    if (response.Data.Count > 0)
                    {
                        model.ObsoleteMenuItems = response.Data.Select(mi => new MenuItemViewModel { Caption = mi.Title, Url = mi.Url, IsPublished = mi.PageIsPublished }).ToList();
                    }

                    var request1 = new Module.Api.Operations.Pages.Sitemaps.Sitemap.Tree.GetSitemapTreeRequest { SitemapId = sitemapId.Value };
                    request1.Data.LanguageId = languageId ?? new Guid();
                    var response1 = api.Pages.SitemapNew.Tree.Get(request1);
                    if (response.Data.Count > 0)
                    {
                        model.MenuItems = response1.Data.Select(mi => new MenuItemViewModel { Caption = mi.Title, Url = mi.Url, IsPublished = mi.PageIsPublished }).ToList();
                    }
                }

                if (model.RenderIFrame)
                {
                    model.LanguageCodes = api.Root.Languages.Get(new GetLanguagesRequest()).Data.Items.Select(l => l.Code).ToList();
                }
            }

            return View("~/Views/SitemapMenu/Index.cshtml", model);
        }