Managing page templates and their categories

  Previous topic Next topic JavaScript is required for the print function Mail us feedback on this topic! Mail us feedback on this topic!  

The following sample code shows how you can create a new page template category under the root category:

 

[C#]

 

using CMS.PortalEngine;

 

...

         

        // Get parent for new category

        PageTemplateCategoryInfo parent = PageTemplateCategoryInfoProvider.GetPageTemplateCategoryInfo("/");

 

        // If parent exists

        if (parent != null)

        {

            // Create new page template category object 

            PageTemplateCategoryInfo ptci = new PageTemplateCategoryInfo();

 

            // Set properties

            ptci.DisplayName = "Test category";

            ptci.CategoryName = "TestCategory";

            ptci.ParentId = parent.CategoryId;

 

            // Save to database

            PageTemplateCategoryInfoProvider.SetPageTemplateCategoryInfo(ptci);

        }

 

The following sample code shows how you can create a new page template under an existing category and add it to the system:

 

[C#]

 

using CMS.PortalEngine;

using CMS.CMSHelper;

 

...

 

        // Get parent category

      PageTemplateCategoryInfo ptci = PageTemplateCategoryInfoProvider.GetPageTemplateCategoryInfo("TestCategory");

 

        // If parent exists

        if (ptci != null)

        {

            // Create new page template object 

            PageTemplateInfo pti = new PageTemplateInfo();

 

            // Set properties

            pti.DisplayName = "Test page template";

            pti.CodeName = "TestPageTemplate";

            pti.Description = "This is page template created by API Example";

            pti.PageTemplateSiteID = CMSContext.CurrentSiteID;

            pti.FileName = " ";

            pti.ShowAsMasterTemplate = false;

            pti.IsPortal = true;

            pti.InheritPageLevels = ""// inherits all

            pti.IsReusable = true;

 

            // Template layout with a web part zone

            pti.PageTemplateLayout = "<cc1:CMSWebPartZone ID=\"zoneLeft\" runat=\"server\" />";

 

            pti.CategoryID = ptci.CategoryId;

 

            // Save to database

            PageTemplateInfoProvider.SetPageTemplateInfo(pti);

        }

 

The following sample code shows how you can modify an existing page template:

 

[C#]

 

using CMS.PortalEngine;

 

...

 

        // Get template object

        PageTemplateInfo pti = PageTemplateInfoProvider.GetPageTemplateInfo("TestPageTemplate");

 

        // If template exists

        if (pti != null)

        {

            // Update properties

            pti.DisplayName += " updated";

            pti.PageTemplateLayout += " updated";

 

            // Update data in database

            PageTemplateInfoProvider.SetPageTemplateInfo(pti);

        }

 

The following sample code shows how you can delete an existing page template:

 

[C#]

 

using CMS.PortalEngine;

 

...

 

        // Get template object

        PageTemplateInfo pti = PageTemplateInfoProvider.GetPageTemplateInfo("TestPageTemplate");

 

        // If template exists

        if (pti != null)

        {

            // Delete

            PageTemplateInfoProvider.DeletePageTemplate(pti);

        }

 

The following sample code shows how you can delete an existing page template category:

 

[C#]

 

using CMS.PortalEngine;

 

...

 

        // Get template category object

      PageTemplateCategoryInfo pti = PageTemplateCategoryInfoProvider.GetPageTemplateCategoryInfo("TestCategory");

 

        // If category exists

        if (pti != null)

        {

            // Delete

            PageTemplateCategoryInfoProvider.DeletePageTemplateCategory(pti);

        }

 

Page url: http://devnet.kentico.com/docs/5_5r2/devguide/index.html?api_portal_engine_managing_page_templates_and_their_categories.htm