Creating the definitions class

You use the definitions class for building the UI for the backend and the frontend views of the module. To create the definitions class, you must perform the following:

  1. From the context menu of the folder Web » UI in the ProductsCatalogSample project, click Add » Class.
  2. Name the class file ProductsDefinitions.cs and click Add.
  3. Open the file ProductsDefinitions.cs.
  4. Add the following using statements:

    using ProductCatalogSample.Model;
    using ProductCatalogSample.Web.Controls;
    using ProductCatalogSample.Web.UI.Public;
    using Telerik.Sitefinity.Abstractions;
    using Telerik.Sitefinity.Configuration;
    using Telerik.Sitefinity.Localization;
    using Telerik.Sitefinity.Localization.Configuration;
    using Telerik.Sitefinity.Localization.Web.UI;
    using Telerik.Sitefinity.Model.ContentLinks;
    using Telerik.Sitefinity.Modules;
    using Telerik.Sitefinity.Modules.Pages;
    using Telerik.Sitefinity.Services;
    using Telerik.Sitefinity.Taxonomies;
    using Telerik.Sitefinity.Versioning;
    using Telerik.Sitefinity.Versioning.Web.UI.Config;
    using Telerik.Sitefinity.Versioning.Web.UI.Views;
    using Telerik.Sitefinity.Web;
    using Telerik.Sitefinity.Web.UI;
    using Telerik.Sitefinity.Web.UI.Backend.Elements.Config;
    using Telerik.Sitefinity.Web.UI.Backend.Elements.Enums;
    using Telerik.Sitefinity.Web.UI.Backend.Elements.Widgets;
    using Telerik.Sitefinity.Web.UI.ContentUI.Config;
    using Telerik.Sitefinity.Web.UI.ContentUI.Views.Backend.Detail;
    using Telerik.Sitefinity.Web.UI.ContentUI.Views.Backend.Master;
    using Telerik.Sitefinity.Web.UI.ContentUI.Views.Backend.Master.Config;
    using Telerik.Sitefinity.Web.UI.Extenders.Config;
    using Telerik.Sitefinity.Web.UI.Fields;
    using Telerik.Sitefinity.Web.UI.Fields.Config;
    using Telerik.Sitefinity.Web.UI.Fields.Enums;
    using Telerik.Sitefinity.Web.UI.Validation.Config;

  5. Define the following static constructor:

    static ProductsDefinitions()
    {
        // Ensure Products module is initialized.
        SystemManager.GetApplicationModule(ProductsModule.ModuleName);
    }

    You will create the ModuleName constant later in this tutorial. For more information, see Implementing the module class.

  6. Define the following constants:

    public const string BackendDefinitionName = "ProductsBackend";
    public const string BackendListViewName = "ProductsBackendList";
    public const string BackendEditViewName = "ProductsBackendEdit";
    public const string BackendInsertViewName = "ProductsBackendInsert";
    public const string BackendPreviewViewName = "ProductsBackendPreview";
    public const string BackendVersionPreviewViewName = "ProductsBackendVersionPreview";
    public const string BackendVersionComapreViewName = "ProdcutsBackendVersionComparisonView";
    public static string BackendCommentsDefinitionName = "ProductsCommentsBackend";
    private const string ComparisonViewHistoryScreenQueryParameter = "VersionComparisonView";
     
    public const string FrontendDefinitionName = "ProductsFrontend";
    public const string FrontendDetailViewName = "ProductsFrontendDetails";
    public const string FrontendListViewName = "ProductsFrontendList";
    public const string FrontendTitlesOnlyListViewName = "Titles only";
    public const string FrontendTitlesDatesListViewName = "Titles and dates";
    public const string FrontendTitlesDatesContentsListViewName = "Titles, dates and full content";
    public const string FrontendTitlesDatesSummariesListViewName = "Titles, dates and summaries";
    public const string FrontendFullProductItemDetailViewName = "Full product";
    public static readonly string FrontendCommentsDefinitionName = "ProductsCommentsFrontend";
     
    public const string ModuleName = "Products";
     
    public const string CreateCommandName = "create";
    public const string SaveCommandName = "save";
    public const string CancelCommandName = "cancel";
    public const string SaveAndContinueCommandName = "saveAndContinue";
    public const string PublishCommandName = "publish";
    public const string UnpublishCommandName = "unpublish";
    public const string GroupPublishCommandName = "groupPublish";
    public const string EditCommandName = "edit";
    public const string GroupUnpublishCommandName = "groupUnpublish";
    public const string DeleteCommandName = "delete";
    public const string HistoryCommandName = "history";
    public const string PreviewCommandName = "preview";
    public const string PermissionsCommandName = "permissions";
    public const string HistoryGridCommandName = "historygrid";
  7. Define DefineProductsBackendContentView and DefineProductsFrontendContentView methods in the following way:

    public static ContentViewControlElement DefineProductsBackendContentView(ConfigElement parent)
    {
        throw new NotImplementedException();
    }
     
    public static ContentViewControlElement DefineProductsFrontendContentView(ConfigElement parent)
    {
        throw new NotImplementedException();
    }

    You will implement these methods later in this tutorial. In them you must return a ContentViewControlElement object that contains the UI for the respective view. For more information, see Creating the backend view and Creating the frontend view.

    You must call the DefineLocationsBackendContentView and the DefineLocationsFrontendContentView methods from the configuration class. For more information, see Implementing the configuration class.

Next steps

+1-888-365-2779
sales@sitefinity.com

Related topics:

Feedback

How useful is this article?

Tell us more

Submit
Your message was successfully sent.

We appreciate your feedback.

Your message could not be sent.

OK