---
title: Create a custom page template
slug: configured-commerce/docs/creating-and-using-a-custom-page-template-in-classic
docTags: 
createdAt: 2026-08-13T10:46:18.000Z
---

:::hint{type="warning"}
**Important**

Classic CMS reached end-of-life in January 2025 and is no longer receiving feature updates or bug fixes. You should \[migrate to Spire CMS]\(../../End user docs/spire-cms/get-started-with-spire-cms/migrate-from-classic-cms-to-spire-cms.mdx).
:::

1. Create a new MVC view inside of the **Views** > **Content** > **Template Page** folder
2. Use the `InSite.Content.Items.Pages.TemplatePage` class as the model
3. Design the HTML markup and add any relevant zones:

```xml
@model InSite.Content.Items.Pages.TemplatePage
<div class="row main-row cms-rearrangeable">
 <div class="medium-12 large-12 columns">
     <div class="row">
         <div class="medium-12 large-12 columns">
             <div class="cm">
                 @Html.Zone(Model, "Top")
             </div>
         </div>
     </div>
 <hr />
 <div class="row">
     <div class="medium-12 large-12 columns">
         <div class="cm">
             @Html.Zone(Model, "Bottom")
         </div>
     </div>
 </div>
</div>
```

1. Start debugging the application, navigate to the commerce site and log in with credentials that support content management
2. Expand the CMS and add a new template

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/N0PAf9heHPVf6HjNmFovF_6bc6a5f-content-management-with-widgets-18.png)

3. Within the **Add Template** action panel, note the newly created template in the **Template** drop down list picked up by the CMS. Choose the new template created in the list.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/EO5LjLj1VFwtJzRROCn-1_20d1dc8-content-management-with-widgets-19.png)

4. On Step 2 of the **Add Template** action panel, name the template and select the **Allowed Page Type**. Selecting **Allowed Page Type** will dictate which pages will show the custom template as an option when adding a new page under **Item Type**.
5. Add the relevant widgets for the custom template. The **Template Zone** widget will allow the template page to support additional widgets per template use.
6. Save the changes and add a new page. The **Item Type** is directly related to the **Allowed Page Type** defined when creating a custom template. It is common to choose **Content Page**.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/NuhaG4Jb1uok98anhbZ8F_8f8fe2d-content-management-with-widgets-20.png)

7. The new page has the custom template predefined layout. If the **Template Zone** widget was used, additional widgets can be added to the page.

![](https://api.archbee.com/api/optimize/BrbvVORKJ5iIeSMZye5kI/w76kav9qmTFPlEUL4zDOl_29f3832-content-management-with-widgets-21.png)
