Skip to main content
Version: 2.0.0

Platform Infrastructure

Craft Core (yui/craft-core, Composer handle yui-core) is the shared foundation package for the yStore plugin ecosystem. It is not an add-on you enable for a specific feature — every yStore plugin declares it as a dependency and builds on top of it.

Not a licensed feature plugin

Unlike payment, shipping, or invoicing plugins, Craft Core has no feature of its own to activate in the storefront. It ships shared control panel UI components, base classes, and services that other plugins extend. It has no separate CP settings screen.

What it provides

AreaWhat it gives plugins
Control panel navigationAbstractNavPlugin for declarative CP subnav registration, so plugins don't hand-roll nav items.
Settings frameworkAbstractSectionedSettingsController and related base classes for a consistent, tabbed settings layout across plugins.
LicensingLicense validation, trial mode, feature entitlements (including wildcard/bundle entitlements), and the shared license CP nav entry (hasLicenseCpNav).
DashboardsAbstractDashboardController and CoreDashboardService for plugin-specific dashboards with customizable, filterable widget layouts.
NotificationsA CP notification system with per-type opt-out preferences, level presets, and event registration (RegisterNotificationTypesEvent).
Shared CP componentsDesign tokens, yui-empty-state, yc-notice, yc-hint, yc-help-guide, and other reusable SCSS/Twig components used across plugin CPs.
UtilitiesLogging (CoreLog), scheduling, backup/restore, PDF generation, data export (ListingExportHelper), Twig extensions, and Yii component wrappers.

Admin focus areas

  • Craft Core installs automatically as a dependency when you install any yStore plugin — there is nothing to configure directly.
  • Plugin license status is surfaced through the shared License CP nav entry that Craft Core injects into each dependent plugin.
  • CP notification preferences (which events trigger a CP notification, and at what level) are managed per-plugin, using the shared notification framework Craft Core provides.

Developer focus areas

  • New plugins should extend Craft Core's base classes (BasePlugin, AbstractNavPlugin, AbstractSectionedSettingsController, AbstractDashboardController) instead of reimplementing CP scaffolding.
  • Payment and shipping plugins have dedicated bases: BasePaymentSettingsModel / AbstractShippingSettingsModel, and AbstractShippingPlugin / AbstractShippingSettingsController / AbstractShippingDashboardService for the shipping satellite plugins.
  • Requires craftcms/cms ^5.9.