MmdVariantPriceSurcharge |
Plugin class. On uninstall without "keep user data" it deletes the custom field set and system configuration. |
Migration1705200000CreateCustomFields |
Creates the custom field set and the three fields |
Subscriber\ProductSubscriber |
Listens to sales_channel.product.loaded and replaces the calculated price of variants |
Core\Checkout\Cart\VariantPriceProcessor |
Cart processor, service tag shopware.cart.processor, priority 1000 |
Service\SurchargeConfigReader |
Reads and validates the custom fields, decides on inheritance |
Service\SurchargeConfig |
Immutable value object of percentage and surcharge |
Service\ParentPriceResolver |
Loads the parent product with its advanced prices, determines its price, caches per request |
Service\VariantPriceCalculator |
Calculation, value ranges, rounding settings from the system configuration |
Exception\ParentProductNotFoundException |
HTTP 404, error code MMD_VARIANT_PRICE_SURCHARGE__PARENT_NOT_FOUND |