public string GetCanonical(PageDetails page) { // If canonical is explicitly set, use that if (!String.IsNullOrEmpty(page.Canonical)) { return(page.Canonical); } // otherwise generate canonical string generatedBaseUrl = System.Web.HttpContext.Current.Request.Url.Scheme + "://" + System.Web.HttpContext.Current.Request.Url.Authority + System.Web.HttpContext.Current.Request.ApplicationPath.TrimEnd('/') + "/"; // Fallback if site settings isn't in place string baseUrl = SettingsUtils.GetSiteBaseUrl() ?? generatedBaseUrl; // Use Permalink if it's available if (String.IsNullOrEmpty(page.Permalink)) { return(baseUrl + page.DisplayName + "/"); } var generatedUrl = NavigationUtils.GetGeneratedUrl(page); if (generatedUrl == "/home/") { generatedUrl = generatedUrl.Replace("/home/", "/"); } return(baseUrl.TrimEnd('/') + generatedUrl); }
public RedirectViewModel() { BookmarkTitle = "Configure Redirects"; Redirects = Context.Redirects.ToList(); var pages = Context.ContentPages.Where(x => x.IsActive == true).ToList(); foreach (var page in pages) { Pages.Add(NavigationUtils.GetGeneratedUrl(page)); } }
public JsonResult GetPageUrl(int pageId, int categoryId, string permalink = "") { var result = new JsonResult() { Data = new { success = false, message = "There was an error processing your request." } }; string href = ""; var success = 0; var page = Context.ContentPages.FirstOrDefault(x => x.ContentPageId == pageId); if (page != null) { success = 1; page.ParentNavigationItemId = categoryId; href = NavigationUtils.GetGeneratedUrl(page); } result.Data = new { url = href }; if (success > 0) { result.Data = new { success = true, message = "Retrieved page url.", url = href, permalinkExists = new ContentUtils().CheckPermalink(permalink, pageId, categoryId) }; } return(result); }