Skip to content
  1. Extras
  2. MiniShop3

Development ​

Contents ​

Manager API and processors ​

As of 1.10+, the screens for orders, customers, settings and utilities run through the Manager REST API (Controllers\Api\Manager\* on FastRoute). The product and category forms are the exception: those are plain MODX resource screens, and Vue only lives in their tabs. The older processors (MiniShop3\Processors\*) remain only for:

  • the previous connector and runProcessor() calls from PHP;
  • utilities where the controller calls a processor explicitly: ImportController (product import) and UtilitiesGalleryController (bulk gallery operations), both through the RunsMs3Processors trait;
  • customer authentication in the Web API: login, registration, logout, password reset request and password reset all run through Processors\Api\Customer\*.

The remaining Manager API controllers call no processors: they work through the service layer.

Events are not always lost. Orders, their statuses and lines go through services that fire the events themselves. A plugin on msOnChangeOrderStatus does run from the manager.

Vue CRUD for directories writes straight to the database and skips Processors/Settings/Vendor/*. Vendor CRUD plugins do not run from the manager. Deliveries and payments have cost events in events.php, not CRUD events. Link types have no CRUD events. See Vendor events.

The headless frontend calls the Web API (/api/v1/*). Login, registration, logout, forgot-password and reset-password delegate to MiniShop3\Processors\Api\Customer\*.