Naming conventions
When working with MVC-based widgets and templates, you create and manage files of specific types and store them in a specific location in your project. You follow naming conventions that define how Sitefinity CMS prioritizes and resolves views and assets like scripts, for example.
Designer views
The following table summarizes how you name your files and where you store them:
|
File type |
Convention |
Location of file |
Description |
|
Designer view For example, you are creating a designer view, named Custom, for a News widget. |
|
|
A template for the custom view in the widget designer. |
|
Designer view for dynamic content widget |
|
~/Mvc/Views/<DynamicContentTypeName>/Custom |
A template for the custom view of a dynamic content type widget. |
|
JSON configuration |
|
|
A Has the same name as the view template. |
|
Script |
|
|
A JavaScript file with custom client-side logic. Needs to be in the same location as the custom view, so that it overrides the default script file. |
|
Angular controller |
|
The controller that handles the populating and saving of widget properties through the designer. |
In addition, Sitefinity CMS follows a strict convention for resolving views for widgets, based on where the view files are located. For details, see Priorities for resolving views.
Frontend views
The following table summarizes the naming conventions of frontend views of MVC widget types.
|
Widget type |
Convention |
Location of file |
Description |
|
Widgets with List and Detail views:
This list also includes any dynamic content widget. |
List.ViewName.cshtml |
~/Mvc/Views/ControllerName ~/Mvc/Views/<DynamicContentTypeName> |
You need to use the view name. When working with dynamic content widgets, the name of the folder must correspond to the name of the content type. |
|
Detail.ViewName.cshtml | |||
|
|
~/Mvc/Views/ControllerName |
In the example, The custom view must be placed in a folder that corresponds to the controller name (without the Controller suffix).
|
|
|
~/Mvc/Views/ControllerName |
You can name the view |
|
Write.<NameOfTemplate>.cshtml Read.<NameOfTemplate>.cshtml |
~/Mvc/Views/<NameOfWidget> |
Substitute <NameOfTemplate> with a name of your choice. Most of these fields are dropped in form editor and are therefore referred to as form fields.
|
|
Content block |
|
~/Mvc/Views/ControllerName | The Content block has specifics that require the name of the file to be `Default`, because the `ContentBlockController` renders a view named `Default`. |