/// <summary> /// Creates the page template. /// </summary> /// <param name="templateTitle">The template title.</param> private void CreateTemplate(string templateTitle) { PageManager pageManager = PageManager.GetManager(); using (new ElevatedModeRegion(pageManager)) { if (pageManager.GetTemplates().Where(pt => pt.Title.Equals(templateTitle, StringComparison.InvariantCultureIgnoreCase)).Count() == 0) { var template = pageManager.CreateTemplate(); template.Category = SiteInitializer.CustomTemplatesCategoryId; template.Name = templateTitle; template.Title = templateTitle; template.Framework = Pages.Model.PageTemplateFramework.Mvc; var languageData = pageManager.CreatePublishedInvarianLanguageData(); template.LanguageData.Add(languageData); pageManager.SaveChanges(); var master = pageManager.TemplatesLifecycle.Edit(template); pageManager.TemplatesLifecycle.Publish(master); pageManager.SaveChanges(); } } }
/// <summary> /// Creates the page template. /// </summary> /// <param name="templateTitle">The template title.</param> private void CreateTemplate(string templateTitle) { PageManager pageManager = PageManager.GetManager(); using (new Telerik.Sitefinity.Data.ElevatedModeRegion(pageManager)) { if (pageManager.GetTemplates().Where(pt => pt.Title.Equals(templateTitle, StringComparison.InvariantCultureIgnoreCase)).Count() == 0) { var template = pageManager.CreateTemplate(); // Set the custom template category id. template.Category = Telerik.Sitefinity.Abstractions.SiteInitializer.CustomTemplatesCategoryId; template.Name = templateTitle; template.Title = templateTitle; //the template must be using a Pure Mvc Mode template.Framework = Pages.Model.PageTemplateFramework.Mvc; //Publish the template in the invariant culture var languageData = pageManager.CreatePublishedInvarianLanguageData(); template.LanguageData.Add(languageData); pageManager.SaveChanges(); var master = pageManager.TemplatesLifecycle.Edit(template); pageManager.TemplatesLifecycle.Publish(master); pageManager.SaveChanges(); } } }
/// <summary> /// Creates the page template. /// </summary> /// <param name="templateTitle">The template title.</param> private void CreateTemplate(string templateTitle) { var multisiteContext = SystemManager.CurrentContext as MultisiteContext; var prevSite = SystemManager.CurrentContext.CurrentSite; if (multisiteContext != null) { var id = Config.Get <ProjectConfig>().DefaultSite.Id; multisiteContext.ChangeCurrentSite(multisiteContext.GetSiteById(id)); } try { PageManager pageManager = PageManager.GetManager(); using (new ElevatedModeRegion(pageManager)) { if (pageManager.GetTemplates().Where(pt => pt.Title.Equals(templateTitle, StringComparison.InvariantCultureIgnoreCase)).Count() == 0) { var template = pageManager.CreateTemplate(); template.Category = SiteInitializer.CustomTemplatesCategoryId; template.Name = templateTitle; template.Title = templateTitle; template.Framework = Pages.Model.PageTemplateFramework.Mvc; template.Theme = ThemeController.NoThemeName; var languageData = pageManager.CreatePublishedInvarianLanguageData(); template.LanguageData.Add(languageData); pageManager.SaveChanges(); var master = pageManager.TemplatesLifecycle.Edit(template); pageManager.TemplatesLifecycle.Publish(master); pageManager.SaveChanges(); } } } finally { if (multisiteContext != null) { multisiteContext.ChangeCurrentSite(prevSite); } } }
private void CreateTemplate(string packageName, string fileNameWithoutExtension, string title, string image, LayoutControlDescription[] layoutControls) { var multisiteContext = SystemManager.CurrentContext as MultisiteContext; var prevSite = SystemManager.CurrentContext.CurrentSite; if (multisiteContext != null) { var defaultSite = multisiteContext.GetSites().Single(s => s.IsDefault); multisiteContext.ChangeCurrentSite(defaultSite); } try { PageManager pageManager = PageManager.GetManager(); using (new ElevatedModeRegion(pageManager)) { var fullTemplateName = string.IsNullOrEmpty(packageName) ? fileNameWithoutExtension : string.Format("{0}.{1}", packageName, fileNameWithoutExtension); if (!pageManager.GetTemplates().Any(pt => (string.Compare(pt.Name, fullTemplateName, true) == 0 && string.Compare(pt.Title, title, true) == 0) || string.Compare(pt.Title, fullTemplateName, true) == 0)) { var template = pageManager.CreateTemplate(); template.Category = this.GetOrCreateTemplateCategoryId(packageName); template.Name = fullTemplateName; template.Title = title; template.Framework = Pages.Model.PageTemplateFramework.Mvc; template.Theme = ThemeController.NoThemeName; var languageData = pageManager.CreatePublishedInvarianLanguageData(); template.LanguageData.Add(languageData); this.AttachImageToTemplate(template, pageManager, image ?? "default"); this.AddLayoutControls(pageManager, template, layoutControls); var master = pageManager.TemplatesLifecycle.Edit(template); pageManager.TemplatesLifecycle.Publish(master); pageManager.SaveChanges(); if (string.Equals(LayoutFileManager.BootstrapDefaultTemplateName, fullTemplateName, StringComparison.OrdinalIgnoreCase)) { this.CreateDefaultTemplates("Bootstrap", "default"); } else if (string.Equals(LayoutFileManager.FoundationDefaultTemplateName, fullTemplateName, StringComparison.OrdinalIgnoreCase)) { this.CreateDefaultTemplates("Foundation", "default"); } else if (string.Equals(LayoutFileManager.SemanticUIDefaultTemplateName, fullTemplateName, StringComparison.OrdinalIgnoreCase)) { this.CreateDefaultTemplates("SemanticUI", "default"); } } } } finally { if (multisiteContext != null) { multisiteContext.ChangeCurrentSite(prevSite); } } }