Configuring field views in Konstrukt, the back office UI builder for Umbraco.
Field Views allow you to customize the markup used by a field when displayed in a list view. Field Views are implemented as .NET Core View Components that are passed a single KonstruktFieldViewsContext argument with information about the entity / field being rendered.
Defining a field view
You can define a field view in one of two ways.
1. A simple view file for the built in KonstruktFieldView view component
The simplest way to define a field view for non-complex fields is to place a view file in the /Views/Shared/Components/KonstruktFieldView folder with the following markup.
When registering a simple view file view you pass the name of the view file (excluding the .cshtml file extension) to the relevant API method.
2. A completely custom view component
To define a more complex field view you can create your own view component class (which can use dependency injection for any required dependencies) with the following signature
// ExamplepublicclassMyComplexFieldViewViewComponent:ViewComponent{publicasyncTask<IViewComponentResult>InvokeAsync(KonstruktFieldViewContextcontext){ // Do your custom logic herereturnView("Default",model);}}
It's important to node that the KonstruktFieldViewContext parameter to the InvokeAsync method MUST be named context.
For the view element of your component, based on the example above, you would place a file Default.cshtml into the /Views/Shared/Components/MyComplexFieldView folder with the following markup
The field view context
Field view components are passed a KonstruktFieldViewContext object with the following information.
Setting the field view of a list view field
A field view is assigned to a list view field as part of the list view configuration. See List View Documentation for more info.