private void InitializeLogoLink() { IPxUrl url = RouteInstance.PxUrlProvider.Create(null); if (!string.IsNullOrEmpty(url.Database)) { try { IHomepageSettings homepage = PXWeb.Settings.Current.Database[url.Database].Homepages.GetHomepage(url.Language); if (string.IsNullOrWhiteSpace(homepage.Url)) { return; } if (homepage.IsExternal) { LogoLink.NavigateUrl = homepage.Url; } else { LogoLink.NavigateUrl = LinkManager.CreateLink(homepage.Url); } } catch (Exception e) { log.Debug("url.Database = " + url.Database + ", url.Language = " + url.Language); log.Error("The error.", e); throw e; } } else { LogoLink.NavigateUrl = LinkManager.CreateLink("Default.aspx"); } }
private void InitializeBreadcrumb() { IPxUrl url = RouteInstance.PxUrlProvider.Create(null); DatabaseInfo dbi = null; if (!string.IsNullOrEmpty(url.Database)) { try { IHomepageSettings homepage = PXWeb.Settings.Current.Database[url.Database].Homepages.GetHomepage(url.Language); breadcrumb1.HomePageIsExternal = homepage.IsExternal; breadcrumb1.HomePage = homepage.Url; if (PXWeb.Settings.Current.Menu.MenuMode == MenuModeType.TreeViewWithoutFiles) { breadcrumb1.UseTableList = true; } else { breadcrumb1.UseTableList = false; } } catch (KeyNotFoundException e) { log.Debug("url.Database = " + url.Database + ", url.Language = " + url.Language); log.Debug("Getting KeyNotFoundException for url.Database. Possible keys are:"); foreach (string dbid in PXWeb.Settings.Current.Database.Keys) { log.Debug("dbid = " + dbid); } log.Debug("That all, folks!"); log.Error("The error.", e); throw e; } } else { breadcrumb1.HomePageIsExternal = false; breadcrumb1.HomePage = "Default.aspx"; } breadcrumb1.HomePageName = GetLocalizedString("PxWebHome"); breadcrumb1.HomePageImage = true; breadcrumb1.MenuPage = "Menu.aspx"; breadcrumb1.SelectionPage = "Selection.aspx"; breadcrumb1.TablePathParam = "px_path"; breadcrumb1.LayoutParam = "layout"; if (string.IsNullOrEmpty(url.Database)) { return; } dbi = PXWeb.Settings.Current.General.Databases.GetDatabase(url.Database); breadcrumb1.DatabaseId = dbi.Id; breadcrumb1.DatabaseName = dbi.GetDatabaseName(LocalizationManager.CurrentCulture.TwoLetterISOLanguageName); if (string.IsNullOrEmpty(url.Path)) { return; } //MenuPath path; //if (dbi.Type == DatabaseType.CNMM) //{ // path = MenuPathFactory.Create(LinkType.Table); //} //else //{ // path = MenuPathFactory.Create(LinkType.PX); //} ////string tablePath = url.Path.Replace("___", "/"); //string tablePath = path.Decompress(url.Path); //breadcrumb1.TablePath = tablePath; if (dbi.Type == DatabaseType.CNMM) { breadcrumb1.DatabaseType = PCAxis.Web.Core.Enums.DatabaseType.CNMM; } else { breadcrumb1.DatabaseType = PCAxis.Web.Core.Enums.DatabaseType.PX; } breadcrumb1.TablePath = System.Web.HttpUtility.UrlDecode(url.Path); if (string.IsNullOrEmpty(url.Table)) { return; } if ((dbi.Type == PCAxis.Web.Core.Enums.DatabaseType.CNMM) && (!url.Table.Contains(":"))) { breadcrumb1.Table = url.Database + ":" + url.Table; } else { breadcrumb1.Table = url.Table; } }