/// <summary> /// Gets the Component Info /// </summary> /// <param name="Name"></param> /// <returns></returns> private static PageBuilderContainerInfo GetPageBuilderContainer(string Name) { return(CacheHelper.Cache <PageBuilderContainerInfo>(cs => { if (cs.Cached) { cs.CacheDependency = CacheHelper.GetCacheDependency("cms.pagebuildercontainer|byname|" + Name); } return PageBuilderContainerInfoProvider.GetPageBuilderContainerInfo(Name); }, new CacheSettings(1440, "GetPageBuilderContainerInfo", Name))); }
// Retrieves data to be displayed in the selector private IEnumerable <SelectListItem> GetOptions() { // Perform data retrieval operations here // The following example retrieves all pages of the 'DancingGoatMvc.Article' page type // located under the 'Articles' section of the Dancing Goat sample website return(CacheHelper.Cache <IEnumerable <SelectListItem> >(cs => { if (cs.Cached) { cs.CacheDependency = CacheHelper.GetCacheDependency(new string[] { "cms.pagebuildercontainer|all", "cms.pagebuildercontainersite|all" }); } try { var Containers = PageBuilderContainerInfoProvider.GetPageBuilderContainers() .WhereIn("PageBuilderContainerID", PageBuilderContainerSiteInfoProvider.GetPageBuilderContainerSites().WhereEquals("SiteID", SiteContext.CurrentSiteID).Select(x => x.PageBuilderContainerID).ToArray()) .OrderBy("ContainerDisplayName") .Select(x => new SelectListItem() { Value = x.ContainerName, Text = x.ContainerDisplayName } ).ToList(); Containers.Insert(0, new SelectListItem() { Value = "", Text = "(No Container)" }); return Containers; } catch (Exception ex) { // Module not installed EventLogService.LogWarning("PageBuilderContainer", "PageBuilderContainer Module Missing", ex, SiteContext.CurrentSite != null ? SiteContext.CurrentSite.SiteID : 0, additionalMessage: "Could not get Page Builder Containers, make sure you have installed the PageBuilderContainers.Kentico nuget package on your admin kentico instance."); return new List <SelectListItem>() { new SelectListItem() { Value = "", Text = "(No Container)" } }; } }, new CacheSettings(1440, "GetContainerSelectors", SiteContext.CurrentSiteID))); }