Base MVC page templates on layout files

If you created an MVC template from scratch or you deleted your layout file for some reason, you can create a new layout file, on which you base the existing page template. Thus, you modify the template in the backend, add and configure widgets on pages that use this template, and so on.

NOTE: Keep in mind that this is a corner case that you will not usually encounter when following the general workflow of working with page templates.

The following table summarizes your options of where to create the layout file.

IMPORTANT: When deciding where to create or add your template, consider the factors for resolving views, as well as the naming conventions for new template files. For more information, see Priorities for resolving views.

Layout file location  Description
Resource package folder (recommended)
  1. Add a .cshtml file inside the ~/ResourcePackages/YourPackageName/Mvc/Views/Layouts folder.
  2. Name the file main.cshtml, for example, and add the markup.
    The content of the .cshtml file should look something like Bootstrap4 default .cshtml file.

Once you add the .cshtml file is added to the Layouts folder of the Resource package, after application restart, a page template is automatically generated in Design » Page Templates in Sitefinity CMS backend. Any changes you make to the file in the resource will be reflected in the page template in Sitefinity CMS as well.

NOTE: If precompilation of Razor views is turned on, you may need to build the solution, so that you can see the changes in Sitefinity CMS. For more information, see Turn off precompilation of Razor views.
Outside of the resource package
Another option to add a new layout file is inside the ~/MVC/Views/Layouts folder. Sitefinity CMS generates a pure MVC page template with a title matching the layout file name. This way the template will not be part of a resource page.

 

Was this article helpful?