Modify widget templates

You use widget templates to change the appearance of the widget in Sitefinity CMS. Every widget has built-in templates that are packaged in the same assembly.

With Sitefinity CMS,  you can override the default widget template by placing the physical file (either a CSS, JavaScript, HTML, or other file) in a specific location inside the SitefinityWebApp project structure. Sitefinity CMS searches for this location and, if it finds any of these files, it uses them to replace the default widget template. The location depends on the built-in ASP.NET MVC view engines. By default ASP.NET MVC comes with WebFormViewEngine and RazorViewEngine.

NOTE: You can find the default widget templates in the GitHub repository. Open the folder of the module you are extending, for example, Telerik.Sitefinity.Frontend.ContentBlock. Navigate to Mvc » Views/ContentBlock.

The following procedure describes how to change the built-in widget template depending on the view engine you are using.

By default, all MVC-oriented logic must reside in folder Mvc folder in the SitefinityWebApp project. This folder is created automatically by Sitefinity CMS in your web application. New MVC widgets appear in Sitefinity CMS toolbox.

To modify the default template of the ContentBlock widget that uses the RazorViewEngine, perform the following:

  1. In Visual Studio, open your SitefinityWebApp project and click Mvc » Views.

  2. Create a new folder and name it ContentBlock.

    NOTE: The name of the folder must correspond to the name of the widget whose template you want to change. In case, for example, you need to change the template of the Navigation widget, you must name the folder Navigation.

  3. Open the context menu of folder ContentBlock and add new file with name Default.cshtml 
    The name of the file must be Default, because the ContentBlockController renders a view named Default. The extension .cshtml is valid for Razor view engine. For any other widget the name of the newly created file must match the name of the template that you are trying to replace.

    IMPORTANT: You can use only alphanumeric characters and underscore. For more information about naming your files, see Naming conventions.

  4. Enter a sample text inside.
    For example, enter Testing new template.
  5. Build the solution and run it.
  6. Create a new page in Sitefinity CMS and place the ContentBlock widget that is located in the MvcWidgets toolbox section.

As a result, the Testing new template text is displayed.

Want to learn more?

Sign up for our free beginner training. Boost your credentials through advanced courses and certification.
Register for Sitefinity training and certification.


Was this article helpful?