Skip to content

Instantly share code, notes, and snippets.

@sitefinitySDK
Created September 3, 2014 11:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save sitefinitySDK/77d6ba7f6972c3d0681b to your computer and use it in GitHub Desktop.
Save sitefinitySDK/77d6ba7f6972c3d0681b to your computer and use it in GitHub Desktop.
SF_10.1, SF_10.2, SF_11.0, SF_11.1, SF_11.2, SF_12.0, SF_12.1, SF_12.2, SF_13.0, SF_13.1, SF_13.2, SF_13.3 - https://docs.sitefinity.com/for-developers-create-page-templates
using System;
using System.Linq;
using System.Text.RegularExpressions;
using Telerik.Sitefinity;
using Telerik.Sitefinity.Abstractions;
using Telerik.Sitefinity.Model;
using Telerik.Sitefinity.Modules.Pages;
using Telerik.Sitefinity.Pages.Model;
namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.PageTemplates
{
public partial class PageTemplateSnippets
{
public static Guid CreatePageTemplate(string templateTitle)
{
Guid templateId = Guid.Empty;
var fluent = App.WorkWith();
var parentTemplate = fluent.Page().PageManager.GetTemplate(SiteInitializer.TemplateIdRightSidebarHeaderFooter);
templateId = fluent.PageTemplate()
.CreateNew()
.Do(t =>
{
t.Title = templateTitle;
t.Name = new Lstring(Regex.Replace(templateTitle, @"[^\w\-\!\$\'\(\)\=\@\d_]+", String.Empty).ToLower());
t.Description = templateTitle + " descr";
t.ParentTemplate = parentTemplate;
t.ShowInNavigation = true;
t.Framework = PageTemplateFramework.Hybrid;
t.Category = SiteInitializer.CustomTemplatesCategoryId;
t.Visible = true;
})
.SaveAndContinue()
.Get()
.Id;
var pageManager = PageManager.GetManager();
var template = pageManager.GetTemplates().Where(t => t.Id == templateId).SingleOrDefault();
var master = pageManager.TemplatesLifecycle.Edit(template);
pageManager.TemplatesLifecycle.Publish(master);
pageManager.SaveChanges();
return template.Id;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment