Extend Sitefinity CMS data model: Register the provider

After you create the provider class, you need to register the provider in Sitefinity's CMS backend. Once you do this, you are able to use your custom provider in your project and persist the mapped custom type to the database.

Before you register the provider, make sure that your SitefinityWebApp references the CustomTypes class library and build the solution.

To register the provider:

  1. Navigate to Administration » Settings » Advanced » Pages » Providers.

  2. Click Create new and in *ProviderType,*enter:
    CustomTypes.CustomPageProvider, CustomTypes

  3. Enter a valid name and title of the provider.

    IMPORTANT: Special characters are allowed in the title of the provider but are not allowed in its name.

  4. Save your changes.

You can now use the custom provider by adding the following code:

C#
using System;
using System.Linq;
using Telerik.Sitefinity.Modules.Pages;

namespace SitefinityWebApp
{
   public partial class MyUserWidgetDataModel : System.Web.UI.UserControl
   {
       protected void Page_Load(object sender, EventArgs e)
       {
           var manager = PageManager.GetManager("CustomProvider");

           // Get the provider
           var provider = manager.Provider as CustomPageProvider;

           // Persists the custom type to the database
           var customType = provider.CreateCustomType();
           customType.Title = "My custom type";
           manager.SaveChanges();

           // Gets a custom type item by Id
           var item = provider.GetCustomType(customType.Id);

           // Gets a collection of custom type items
           var items = provider.GetCustomTypes().Where(x => x.Title == "My custom type");

           // Removes a custom type item from the database
           provider.Delete(customType);
       } 

   }
}
Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.
New to Sitefinity?