Extending Functionality

Virto Commerce Platform is an ASP.NET MVC andВ AngularJSВ Single Page Application withВ VirtoCommerce's modularity feature.

A module is a subdirectory ofВ ~/ModulesВ directoryВ which contains aВ module.manifestВ file.В Additionally, a module can contain any other content such asВ JavaScript, CSS, image files, .NET assemblies, etc. Some content is specialized and specifics should be outlined in the module manifest.В If a module contains .NET assemblies it is called aВ managed module.

Modules can extend Virto Commerce Platform either with JavaScript or with managed code.

JavaSript allows the user to: * add new items to main menu.В Registration in application's menu * add new widgets to widget containers (on dashboard or in blades). Working with widgets * add new blades * add custom content inside the blade orВ totally redefine the content using metaformВ control * add new buttons and other content to existing blade toolbars.В Working with blade toolbar * define newВ types ofВ notifications andВ addВ new notificationВ templates. Working with notifications * define new UI for settings management

Managed code allows the user to: * add new Web API controllers * add new services * override existing services * modify database

The UI can be extended with Javascript and the backend can be extended with managed code.

In addition, new security permissions as well as new application settings are added with the module manifest, but they are still used either in JavaScript or in managed code.

In this tutorial you will learn how to create custom modules with and without managed code. Each module will be loaded to the main application and will have its entry in the main menu.

Last update: June 18, 2020