Feather: 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 Feather 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.
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. Once you install the Feather project, the new MVC widgets appear in Sitefinity CMS toolbox.
To modify the default template of the ContentBlock widget that uses the RazorViewEngine, perform the following:
-
In Visual Studio, open your SitefinityWebApp project and click Mvc » Views.
-
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.
- 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.
- Enter a sample text inside.
For example, enter Testing new template.
- Build the solution and run it.
- 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.