public static HabSearchAnalytics GetHabSearchAnalyticsSettings() { try { var siteContext = new SiteContext(); var siteDefinition = siteContext.GetSiteDefinition(Sitecore.Context.Item); if (siteDefinition?.Item == null || !siteDefinition.Item.IsDerived(Templates.HabSearchAnalyticSettings.ID)) { return null; } var habSearchAnalytics = new HabSearchAnalytics(); CheckboxField cbIsAnalyticsEnabled = siteDefinition.Item.Fields[Templates.HabSearchAnalyticSettings.Fields.EnableHabSeachAnalytics]; if (cbIsAnalyticsEnabled != null && cbIsAnalyticsEnabled.Checked) { habSearchAnalytics.IsAnalyticsEnabled = true; habSearchAnalytics.SearchTermsRootFolderPath = siteDefinition.Item[Templates.HabSearchAnalyticSettings.Fields.SearchTermsRootFolder]; } return habSearchAnalytics; } catch (Exception ex) { Log.Error("Error while getting HabSearch Analytics settings", ex, typeof(HabSearchAnalyticsRepository)); } return null; }
public static IEnumerable<Language> GetSupportedLanguages() { var languages = GetAll(); var siteContext = new SiteContext(); var siteDefinition = siteContext.GetSiteDefinition(Sitecore.Context.Item); if (siteDefinition?.Item == null || !siteDefinition.Item.IsDerived(Feature.Language.Templates.LanguageSettings.ID)) { return languages; } var supportedLanguagesField = new MultilistField(siteDefinition.Item.Fields[Feature.Language.Templates.LanguageSettings.Fields.SupportedLanguages]); if (supportedLanguagesField.Count == 0) { return languages; } var supportedLanguages = supportedLanguagesField.GetItems(); languages = languages.Where(language => supportedLanguages.Any(item => item.Name.Equals(language.Name))); return languages; }