GUI modules concept

Edit on GitHub

This articles provides a short overview of the GUI (graphical user interface) modules in the Merchant Portal.

GUI modules structure

GUI modules have the main purpose of providing logic for the functioning of the Merchant Portal pages and components for merchant management. The Core GUI modules can be identified by the suffix MerchantPortalGui (DashboardMerchantPortalGui, ProductOfferMerchantPortalGui).

Typical GUI modules include:

    • Controllers for displaying Merchant Portal pages and corresponding logic (forms, data mappers, etc. );
  • GUI tables and corresponding logic for configuration, data provisioning, etc.;
  • Twig templates;
  • Frontend components;
  • Plugins for extending existing GUI tables, forms etc.;
  • Other GUI related logic.

GUI modules should not contain any business logic, which should be handled by modules responsible for it. For example, ProductOfferMerchantPortalGui module uses ``ProductOffer` module to save the product offer data).

GUI module relations

Mapping to a feature

Merchant Portal GUI modules can be mapped to a feature in two different ways, depending on the feature’s purpose:

  • as a required module listed in feature’s composer.json, that means the module must be installed.
Example

Marketplace Merchant Portal Core feature: SecurityMerchantPortalGui, UserMerchantPortalGui modules.

  • as optional module, which means it should be installed as an add-on to the main feature.
Example

(Marketplace Inventory Management feature: AvailabilityMerchantPortalGui module.