UPGRADE-2.0.md
v2.0.13 TO v2.0.14Sylius 2.0.14 introduces anonymous telemetry to help us understand how Sylius is used and improve the platform.
What data is collected:
No sensitive data is ever collected - no customer information, no order details, no personal data.
Configuration:
Telemetry is enabled by default and uses a default salt for hashing the installation ID.
To disable telemetry, set the following environment variable in your .env file:
SYLIUS_TELEMETRY_ENABLED=0
To change the salt, set the SYLIUS_TELEMETRY_SALT environment variable:
SYLIUS_TELEMETRY_SALT=your-custom-salt
Database migration (optional):
This release includes an optional database migration that adds an index to improve telemetry query performance. The telemetry system works without this index, but adding it will make data collection faster, especially for stores with large order volumes.
To run the migration:
php bin/console doctrine:migrations:migrate
If you want to skip this migration:
php bin/console doctrine:migrations:version 'Sylius\Bundle\CoreBundle\Migrations\Version20251126120000' --add --no-interaction
# For PostgreSQL:
php bin/console doctrine:migrations:version 'Sylius\Bundle\CoreBundle\Migrations\Version20251126120001' --add --no-interaction
For more details, see the Telemetry documentation.
2.0.5 TO 2.0.6UI occurrences of the following step definitions have been removed:@When I save my changes@When I try to save my changesThese have been replaced by the new common context class: Sylius\Behat\Context\Ui\SaveContext
identified by the id sylius.behat.context.ui.save.
If you use any of the removed methods, please update your suite configuration to include the new context class:
your_behat_profile:
suites:
your_suite_name:
contexts:
- ...
+ - sylius.behat.context.ui.save
2.0.2 TO 2.0.3New left and right sections have been added to the following Twig hooks to improve customization:
sylius_admin.admin_user.create.content.form.sectionssylius_admin.admin_user.update.content.form.sectionssylius_admin.customer.create.content.form.sectionssylius_admin.customer.update.content.form.sectionsHooks previously attached to the sections hook are now divided into left and right sections. This change doesn't affect to the original hook names.
For example, the account hook previously attached to sylius_admin.admin_user.create.content.form.sections is now located in sylius_admin.admin_user.create.content.form.sections#left,
but its name remains sylius_admin.admin_user.create.content.form.sections.account.
2.0.0 TO 2.0.11.14 TO 2.0Even if your app is barely customized, it will require some manual adjustments before it can run again. Depending on whether you use Symfony Flex, some of these changes may be applied automatically, but it’s important to check them manually regardless.
# config/packages/_sylius.yaml
imports:
...
+ - { resource: "@SyliusPayumBundle/Resources/config/app/config.yaml" }
...
sylius_payment:
resources:
+ gateway_config:
+ classes:
+ model: App\Entity\Payment\GatewayConfig
...
sylius_payum:
resources:
- gateway_config:
- classes:
- model: App\Entity\Payment\GatewayConfig
security.user_checker.chain.<firewall> service:# config/packages/security.yaml
security:
firewalls:
admin:
...
+ user_checker: security.user_checker.chain.admin
- new_api_admin_user:
+ api_admin:
...
+ user_checker: security.user_checker.chain.api_admin
- new_api_shop_user:
+ api_shop:
...
+ user_checker: security.user_checker.chain.api_shop
shop:
...
+ user_checker: security.user_checker.chain.shop
Shop:
# config/routes/sylius_shop.yaml
sylius_shop_payum:
- resource: "@SyliusShopBundle/Resources/config/routing/payum.yml"
+ resource: "@SyliusPayumBundle/Resources/config/routing/integrations/sylius_shop.yaml"
+sylius_payment_notify:
+ resource: "@SyliusPaymentBundle/Resources/config/routing/integrations/sylius.yaml"
API:
# config/routes/sylius_api.yaml
sylius_api:
resource: "@SyliusApiBundle/Resources/config/routing.yml"
- prefix: "%sylius.security.new_api_route%"
+ prefix: "%sylius.security.api_route%"
# config/bundles.php
<?php
return [
- Sylius\Calendar\SyliusCalendarBundle::class => ['all' => true],
- winzou\Bundle\StateMachineBundle\winzouStateMachineBundle::class => ['all' => true],
- Bazinga\Bundle\HateoasBundle\BazingaHateoasBundle::class => ['all' => true],
- JMS\SerializerBundle\JMSSerializerBundle::class => ['all' => true],
- FOS\RestBundle\FOSRestBundle::class => ['all' => true],
- ApiPlatform\Core\Bridge\Symfony\Bundle\ApiPlatformBundle::class => ['all' => true],
- SyliusLabs\Polyfill\Symfony\Security\Bundle\SyliusLabsPolyfillSymfonySecurityBundle::class => ['all' => true],
+ ApiPlatform\Symfony\Bundle\ApiPlatformBundle::class => ['all' => true],
+ Sylius\TwigHooks\SyliusTwigHooksBundle::class => ['all' => true],
+ Symfony\UX\TwigComponent\TwigComponentBundle::class => ['all' => true],
+ Symfony\UX\StimulusBundle\StimulusBundle::class => ['all' => true],
+ Symfony\UX\LiveComponent\LiveComponentBundle::class => ['all' => true],
+ Symfony\UX\Autocomplete\AutocompleteBundle::class => ['all' => true],
];
###> symfony/messenger ###
...
+ SYLIUS_MESSENGER_TRANSPORT_PAYMENT_REQUEST_DSN=sync://
+ SYLIUS_MESSENGER_TRANSPORT_PAYMENT_REQUEST_FAILED_DSN=sync://
###< symfony/messenger ###
Doctrine migrations have been regenerated, meaning all previous migration files have been removed and their content is now in a single migration file. To apply the new migration and get rid of the old entries run migrations as usual:
bin/console doctrine:migrations:migrate --no-interaction
Sylius 2.0 comes with a bump of minimum supported PHP version to 8.2.
The support of Symfony 5.4 has been dropped. Sylius 2.0 supports both Symfony 6.4 and 7.1
Once you’ve applied these initial changes, your app should be able to run. However, depending on the customizations you’ve made, you may need to make some additional adjustments. Carefully review the following changes and apply them to your app as necessary.
swiftmailer/swiftmailer dependency has been removed. Use symfony/mailer instead.sylius/theme-bundle dependency has been moved from CoreBundle to ShopBundle.Removed from main composer.json:
payum/paypal-express-checkout-nvppayum/stripestripe/stripe-phpRemoved from bundles:
AdminBundle:
twig/intl-extraApiBundle:
sylius/payum-bundleAttributeBundle:
friendsofsymfony/rest-bundlejms/serializer-bundleChannelBundle:
friendsofsymfony/rest-bundlejms/serializer-bundleCoreBundle:
sylius/payum-bundlesylius/theme-bundlesylius/ui-bundlesymfony/templatingjms/serializer-bundlesonata-project/block-bundlesylius-labs/polyfill-symfony-framework-bundleCurrencyBundle:
friendsofsymfony/rest-bundlejms/serializer-bundlesymfony/templatingInventoryBundle:
friendsofsymfony/rest-bundlejms/serializer-bundlesymfony/templatingLocaleBundle:
friendsofsymfony/rest-bundlejms/serializer-bundlesymfony/templatingMoneyBundle:
friendsofsymfony/rest-bundlejms/serializer-bundlesymfony/templatingOrderBundle:
sylius-labs/polyfill-symfony-framework-bundlesymfony/templatingPayumBundle:
sylius/coreProductBundle
friendsofsymfony/rest-bundlejms/serializer-bundlePromotionBundle
sylius/calendarShippingBundle
sylius/calendarShopBundle
twig/intl-extraTaxationBundle
sylius/calendarUiBundle
sonata-project/block-bundlesylius-labs/polyfill-symfony-event-dispatchersylius-labs/polyfill-symfony-framework-bundlesymfony/templatingUserBundle
sylius-labs/polyfill-symfony-event-dispatchersylius-labs/polyfill-symfony-framework-bundleWinzou State Machine repositories have been moved to the suggested section of composer.json, if you still want to use them, install the following:
winzou/state-machinewinzou/state-machine-bundleThe following constructor signatures have been changed:
Sylius\Bundle\CoreBundle\Twig\CheckoutStepsExtension
use Sylius\Component\Core\Checker\OrderPaymentMethodSelectionRequirementCheckerInterface;
use Sylius\Component\Core\Checker\OrderShippingMethodSelectionRequirementCheckerInterface;
public function __construct(
- private readonly CheckoutStepsHelper|OrderPaymentMethodSelectionRequirementCheckerInterface $checkoutStepsHelper,
- private readonly ?OrderShippingMethodSelectionRequirementCheckerInterface $orderShippingMethodSelectionRequirementChecker = null,
+ private readonly OrderPaymentMethodSelectionRequirementCheckerInterface $orderPaymentMethodSelectionRequirementChecker,
+ private readonly OrderShippingMethodSelectionRequirementCheckerInterface $orderShippingMethodSelectionRequirementChecker,
)
Sylius\Bundle\CoreBundle\Twig\PriceExtension
use Sylius\Component\Core\Calculator\ProductVariantPricesCalculatorInterface;
public function __construct(
- private readonly PriceHelper|ProductVariantPricesCalculatorInterface $helper,
+ private readonly ProductVariantPricesCalculatorInterface $productVariantPricesCalculator,
)
Sylius\Bundle\CoreBundle\Twig\VariantResolverExtension
use Sylius\Component\Product\Resolver\ProductVariantResolverInterface;
public function __construct(
- private readonly ProductVariantResolverInterface|VariantResolverHelper $helper,
+ private readonly ProductVariantResolverInterface $productVariantResolver,
)
Sylius\Bundle\CurrencyBundle\Twig\CurrencyExtension
public function __construct(
- private ?CurrencyHelperInterface $helper = null,
)
Sylius\Bundle\InventoryBundle\Twig\InventoryExtension
use Sylius\Component\Inventory\Checker\AvailabilityCheckerInterface;
public function __construct(
- private AvailabilityCheckerInterface|InventoryHelper $helper,
+ private AvailabilityCheckerInterface $availabilityChecker,
)
Sylius\Bundle\LocaleBundle\Twig\LocaleExtension
use Sylius\Component\Locale\Context\LocaleContextInterface;
use Sylius\Component\Locale\Converter\LocaleConverterInterface;
public function __construct(
- private LocaleConverterInterface|LocaleHelperInterface $localeHelper,
- private ?LocaleContextInterface $localeContext = null,
+ private LocaleConverterInterface $localeConverter,
+ private LocaleContextInterface $localeContext,
)
Sylius\Bundle\MoneyBundle\Twig\ConvertMoneyExtension
use Sylius\Component\Currency\Converter\CurrencyConverterInterface;
public function __construct(
- private ConvertMoneyHelperInterface|CurrencyConverterInterface $helper,
+ private CurrencyConverterInterface $currencyConverter,
)
Sylius\Bundle\MoneyBundle\Twig\FormatMoneyExtension
use Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatterInterface;
public function __construct(
- private FormatMoneyHelperInterface|MoneyFormatterInterface $helper,
+ private MoneyFormatterInterface $moneyFormatter,
)
Sylius\Bundle\OrderBundle\Twig\AggregateAdjustmentsExtension
use Sylius\Component\Order\Aggregator\AdjustmentsAggregatorInterface;
public function __construct(
- private AdjustmentsAggregatorInterface|AdjustmentsHelper $adjustmentsHelper,
+ private AdjustmentsAggregatorInterface $adjustmentsAggregator,
)
Sylius\Bundle\AdminBundle\Controller\DashboardController
public function __construct(
private ChannelRepositoryInterface $channelRepository,
private Environment $templatingEngine,
private RouterInterface $router,
- private ?StatisticsDataProviderInterface $statisticsDataProvider = null,
)
Sylius\Bundle\AdminBundle\EventListener\AdminFilterSubscriber
- use Sylius\Bundle\UiBundle\Storage\FilterStorageInterface;
+ use Sylius\Bundle\GridBundle\Storage\FilterStorageInterface;
public function __construct(private FilterStorageInterface $filterStorage)
Sylius\Bundle\AdminBundle\Controller\RedirectHandler
- use Sylius\Bundle\UiBundle\Storage\FilterStorageInterface;
+ use Sylius\Bundle\GridBundle\Storage\FilterStorageInterface;
public function __construct(
private RedirectHandlerInterface $decoratedRedirectHandler,
private FilterStorageInterface $filterStorage,
)
Sylius\Bundle\UiBundle\Twig\RedirectPathExtension
- use Sylius\Bundle\UiBundle\Storage\FilterStorageInterface;
+ use Sylius\Bundle\GridBundle\Storage\FilterStorageInterface;
public function __construct(
private FilterStorageInterface $filterStorage,
private RouterInterface $router,
)
Sylius\Bundle\PayumBundle\Form\Extension\CryptedGatewayConfigTypeExtension
+ use Sylius\Bundle\PayumBundle\Checker\PayumGatewayConfigEncryptionCheckerInterface;
public function __construct(
+ private readonly PayumGatewayConfigEncryptionCheckerInterface $encryptionChecker,
private ?CypherInterface $cypher = null,
)
Sylius\Bundle\CoreBundle\Form\Type\Checkout\AddressType
public function __construct(
+ private readonly AddressComparatorInterface $addressComparator,
string $dataClass,
array $validationGroups = []
- private readonly AddressComparatorInterface $addressComparator = null,
)
Sylius\Component\Core\OrderProcessing\OrderPaymentProcessor
public function __construct(
private OrderPaymentProviderInterface $orderPaymentProvider,
- private string $targetState = PaymentInterface::STATE_CART,
private OrderPaymentsRemoverInterface $orderPaymentsRemover,
private array $unprocessableOrderStates,
+ private string $targetState = PaymentInterface::STATE_CART,
)
Sylius\Bundle\AdminBundle\Action\ResendOrderConfirmationEmailAction
use Symfony\Component\Routing\RouterInterface;
public function __construct(
private OrderRepositoryInterface $orderRepository,
- private OrderEmailManagerInterface|ResendOrderConfirmationEmailDispatcherInterface $orderEmailManager,
+ private ResendOrderConfirmationEmailDispatcherInterface $resendOrderConfirmationEmailDispatcher,
private CsrfTokenManagerInterface $csrfTokenManager,
- private RequestStack|SessionInterface $requestStackOrSession,
+ private RequestStack $requestStack,
- private ?RouterInterface $router = null,
+ private RouterInterface $router,
)
Sylius\Bundle\AdminBundle\Action\ResendShipmentConfirmationEmailAction
use Sylius\Bundle\AdminBundle\EmailManager\ShipmentEmailManagerInterface;
use Sylius\Bundle\CoreBundle\MessageDispatcher\ResendShipmentConfirmationEmailDispatcherInterface;
public function __construct(
private ShipmentRepositoryInterface $shipmentRepository,
- private ResendShipmentConfirmationEmailDispatcherInterface|ShipmentEmailManagerInterface $shipmentEmailManager,
+ private ResendShipmentConfirmationEmailDispatcherInterface $resendShipmentConfirmationDispatcher,
private CsrfTokenManagerInterface $csrfTokenManager,
- private RequestStack|SessionInterface $requestStackOrSession,
+ private RequestStack $requestStack,
)
Sylius\Bundle\AdminBundle\Controller\ImpersonateUserController
use Symfony\Component\Routing\RouterInterface;
public function __construct(
private UserImpersonatorInterface $impersonator,
private AuthorizationCheckerInterface $authorizationChecker,
private UserProviderInterface $userProvider,
- ?RouterInterface $router,
+ private RouterInterface $router,
private string $authorizationRole,
)
Sylius\Bundle\AdminBundle\EventListener\ShipmentShipListener
use Sylius\Bundle\CoreBundle\Mailer\ShipmentEmailManagerInterface;
public function __construct(
- private DeprecatedShipmentEmailManagerInterface|ShipmentEmailManagerInterface $shipmentEmailManager
+ private ShipmentEmailManagerInterface $shipmentEmailManager
)
Sylius\Bundle\AttributeBundle\Form\Type\AttributeType\Configuration\SelectAttributeChoicesCollectionType
use Sylius\Component\Resource\Translation\Provider\TranslationLocaleProviderInterface;
public function __construct(
- ?TranslationLocaleProviderInterface $localeProvider = null,
)
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\CatalogPromotionRemovalProcessor
use Sylius\Bundle\CoreBundle\CatalogPromotion\Announcer\CatalogPromotionRemovalAnnouncerInterface;
use Symfony\Component\Messenger\MessageBusInterface;
public function __construct(
private CatalogPromotionRepositoryInterface $catalogPromotionRepository,
- private CatalogPromotionRemovalAnnouncerInterface|MessageBusInterface $catalogPromotionRemovalAnnouncer,
- private ?MessageBusInterface $eventBus = null,
+ private CatalogPromotionRemovalAnnouncerInterface $catalogPromotionRemovalAnnouncer,
)
Sylius\Bundle\CoreBundle\Fixture\Factory\ProductExampleFactory
use Symfony\Component\Config\FileLocatorInterface;
public function __construct(
private FactoryInterface $productFactory,
private FactoryInterface $productVariantFactory,
private FactoryInterface $channelPricingFactory,
private ProductVariantGeneratorInterface $variantGenerator,
private FactoryInterface $productAttributeValueFactory,
private FactoryInterface $productImageFactory,
private FactoryInterface $productTaxonFactory,
private ImageUploaderInterface $imageUploader,
private SlugGeneratorInterface $slugGenerator,
private RepositoryInterface $taxonRepository,
private RepositoryInterface $productAttributeRepository,
private RepositoryInterface $productOptionRepository,
private RepositoryInterface $channelRepository,
private RepositoryInterface $localeRepository,
- private ?RepositoryInterface $taxCategoryRepository = null,
- private ?FileLocatorInterface $fileLocator = null,
+ private RepositoryInterface $taxCategoryRepository,
+ private FileLocatorInterface $fileLocator,
)
Sylius\Bundle\CoreBundle\EventListener\PaymentPreCompleteListener
public function __construct(
+ private OrderItemAvailabilityCheckerInterface|AvailabilityCheckerInterface $availabilityChecker,
- private AvailabilityCheckerInterface $availabilityChecker,
)
Sylius\Bundle\CoreBundle\Fixture\Factory\PromotionExampleFactory
use Sylius\Component\Resource\Repository\RepositoryInterface;
public function __construct(
private FactoryInterface $promotionFactory,
private ExampleFactoryInterface $promotionRuleExampleFactory,
private ExampleFactoryInterface $promotionActionExampleFactory,
private ChannelRepositoryInterface $channelRepository,
- private ?FactoryInterface $couponFactory = null,
- private ?RepositoryInterface $localeRepository = null,
+ private FactoryInterface $couponFactory,
+ private RepositoryInterface $localeRepository,
)
Sylius\Bundle\CoreBundle\Installer\Provider\DatabaseSetupCommandsProvider
use Doctrine\Bundle\DoctrineBundle\Registry;
use Doctrine\ORM\EntityManagerInterface;
public function __construct(
- Registry $doctrineRegistry,
+ EntityManagerInterface $entityManager,
)
Sylius\Bundle\CoreBundle\Installer\Setup\LocaleSetup
use Symfony\Component\Filesystem\Filesystem;
public function __construct(
private RepositoryInterface $localeRepository,
private FactoryInterface $localeFactory,
private string $locale,
- private ?Filesystem $filesystem = null,
- private ?string $localeParameterFilePath,
+ private Filesystem $filesystem,
+ private string $localeParameterFilePath,
)
Sylius\Bundle\CoreBundle\Validator\Constraints\HasEnabledEntityValidator
use Symfony\Component\PropertyAccess\PropertyAccessorInterface;
public function __construct(
private ManagerRegistry $registry,
- private ?PropertyAccessorInterface $accessor = null,
+ private PropertyAccessorInterface $accessor,
)
Sylius\Bundle\ShopBundle\EventListener\OrderCompleteListener
use Sylius\Bundle\CoreBundle\Mailer\OrderEmailManagerInterface;
use Sylius\Bundle\ShopBundle\EmailManager\OrderEmailManagerInterface as DeprecatedOrderEmailManagerInterface;
public function __construct(
- private DeprecatedOrderEmailManagerInterface|OrderEmailManagerInterface $orderEmailManager
+ private OrderEmailManagerInterface $orderEmailManager
)
Sylius\Bundle\ShopBundle\Controller\ContactController
use Sylius\Bundle\CoreBundle\Mailer\ContactEmailManagerInterface;
use Sylius\Bundle\ShopBundle\EmailManager\ContactEmailManagerInterface as DeprecatedContactEmailManagerInterface;
public function __construct(
private RouterInterface $router,
private FormFactoryInterface $formFactory,
private Environment $templatingEngine,
private ChannelContextInterface $channelContext,
private CustomerContextInterface $customerContext,
private LocaleContextInterface $localeContext,
- private ContactEmailManagerInterface|DeprecatedContactEmailManagerInterface $contactEmailManager,
+ private ContactEmailManagerInterface $contactEmailManager,
)
Sylius\Component\Addressing\Matcher\ZoneMatcher
use Sylius\Component\Addressing\Repository\ZoneRepositoryInterface;
use Sylius\Component\Resource\Repository\RepositoryInterface;
public function __construct(
- private RepositoryInterface|ZoneRepositoryInterface $zoneRepository
+ private ZoneRepositoryInterface $zoneRepository
)
Sylius\Component\Core\Updater\UnpaidOrdersStateUpdater
use Doctrine\Persistence\ObjectManager;
use SM\Factory\Factory;
use Sylius\Abstraction\StateMachine\StateMachineInterface;
public function __construct(
private OrderRepositoryInterface $orderRepository,
- private Factory|StateMachineInterface $stateMachineFactory,
+ private StateMachineInterface $stateMachine,
private string $expirationPeriod,
- private ?LoggerInterface $logger = null,
- private ?ObjectManager $orderManager = null,
+ private LoggerInterface $logger,
+ private ObjectManager $orderManager,
private int $batchSize = 100,
)
Sylius\Component\Core\Calculator\ProductVariantPriceCalculator
use Sylius\Component\Core\Checker\ProductVariantLowestPriceDisplayCheckerInterface;
public function __construct(
- private ?ProductVariantLowestPriceDisplayCheckerInterface $productVariantLowestPriceDisplayChecker = null,
+ private ProductVariantLowestPriceDisplayCheckerInterface $productVariantLowestPriceDisplayChecker,
)
Sylius\Component\Core\Taxation\Applicator\OrderItemsTaxesApplicator
use Sylius\Component\Core\Distributor\ProportionalIntegerDistributorInterface;
public function __construct(
private CalculatorInterface $calculator,
private AdjustmentFactoryInterface $adjustmentFactory,
private IntegerDistributorInterface $distributor,
private TaxRateResolverInterface $taxRateResolver,
- private ?ProportionalIntegerDistributorInterface $proportionalIntegerDistributor = null,
+ private ProportionalIntegerDistributorInterface $proportionalIntegerDistributor,
)
Sylius\Component\Core\Taxation\Applicator\OrderItemUnitsTaxesApplicator
use Sylius\Component\Core\Distributor\ProportionalIntegerDistributorInterface;
public function __construct(
CalculatorInterface $calculator,
AdjustmentFactoryInterface $adjustmentFactory,
TaxRateResolverInterface $taxRateResolver,
+ ProportionalIntegerDistributorInterface $proportionalIntegerDistributor,
)
Sylius\Component\Product\Resolver\DefaultProductVariantResolver
public function __construct(
- private ?ProductVariantRepositoryInterface $productVariantRepository = null
+ private readonly ProductVariantRepositoryInterface $productVariantRepository
)
Sylius\Bundle\CoreBundle\EventListener\TaxonDeletionListener
public function __construct(
- private RequestStack|SessionInterface $requestStackOrSession,
+ private RequestStack $requestStack,
private ChannelRepositoryInterface $channelRepository,
private TaxonInPromotionRuleCheckerInterface $taxonInPromotionRuleChecker,
TaxonAwareRuleUpdaterInterface ...$ruleUpdaters,
)
Sylius\Component\Core\Cart\Context\ShopBasedCartContext
public function __construct(
private CartContextInterface $cartContext,
private ShopperContextInterface $shopperContext,
- private ?CreatedByGuestFlagResolverInterface $createdByGuestFlagResolver = null,
+ private CreatedByGuestFlagResolverInterface $createdByGuestFlagResolver,
)
Sylius\Component\Core\Uploader\ImageUploader
public function __construct(
- protected FilesystemAdapterInterface|FilesystemInterface $filesystem,
- protected ?ImagePathGeneratorInterface $imagePathGenerator = null,
+ protected readonly FilesystemAdapterInterface $filesystem,
+ protected readonly ImagePathGeneratorInterface $imagePathGenerator,
)
Sylius\Component\Taxation\Resolver\TaxRateResolver
public function __construct(
protected RepositoryInterface $taxRateRepository,
- protected ?TaxRateDateEligibilityCheckerInterface $taxRateDateChecker = null,
+ protected TaxRateDateEligibilityCheckerInterface $taxRateDateChecker,
)
Sylius\Bundle\AddressingBundle\Form\Type\ZoneChoiceType
public function __construct(
private RepositoryInterface $zoneRepository,
- private array $scopeTypes = []
+ private readonly array $scopeTypes,
)
Sylius\Component\Core\OrderProcessing\OrderPricesRecalculator
public function __construct(
- private ProductVariantPriceCalculatorInterface|ProductVariantPricesCalculatorInterface $productVariantPriceCalculator
+ private ProductVariantPricesCalculatorInterface $productVariantPricesCalculator
)
Sylius\Bundle\AdminBundle\Action\Account\RenderResetPasswordPageAction
public function __construct(
private UserRepositoryInterface $userRepository,
private FormFactoryInterface $formFactory,
- private FlashBagInterface|RequestStack $requestStackOrFlashBag,
+ private RequestStack $requestStack,
private RouterInterface $router,
private Environment $twig,
private string $tokenTtl,
)
Sylius\Bundle\AdminBundle\Action\Account\ResetPasswordAction
public function __construct(
private FormFactoryInterface $formFactory,
private ResetPasswordDispatcherInterface $resetPasswordDispatcher,
- private FlashBagInterface|RequestStack $requestStackOrFlashBag,
+ private RequestStack $requestStack,
private RouterInterface $router,
private Environment $twig,
)
Sylius\Bundle\AdminBundle\Event\OrderShowMenuBuilderEvent
public function __construct(
FactoryInterface $factory,
ItemInterface $menu,
private OrderInterface $order,
- private StateMachineInterface|WinzouStateMachineInterface $stateMachine,
+ private StateMachineInterface $stateMachine,
)
Sylius\Bundle\AttributeBundle\Form\Type\AttributeValueType
public function __construct(
string $dataClass,
array $validationGroups,
protected string $attributeChoiceType,
protected RepositoryInterface $attributeRepository,
protected RepositoryInterface $localeRepository,
protected FormTypeRegistryInterface $formTypeRegistry,
- protected ?DataTransformerInterface $localeToCodeTransformer = null,
+ protected DataTransformerInterface $localeToCodeTransformer,
)
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\CatalogPromotionRemovalProcessor
public function __construct(
private CatalogPromotionRepositoryInterface $catalogPromotionRepository,
- private CatalogPromotionRemovalAnnouncerInterface|MessageBusInterface $catalogPromotionRemovalAnnouncer,
- private ?MessageBusInterface $eventBus = null, /** @phpstan-ignore-line */
+ private CatalogPromotionRemovalAnnouncerInterface $catalogPromotionRemovalAnnouncer,
)
Sylius\Bundle\CoreBundle\Fixture\Factory\AdminUserExampleFactory
public function __construct(
private FactoryInterface $userFactory,
private string $localeCode,
- private ?FileLocatorInterface $fileLocator = null,
- private ?ImageUploaderInterface $imageUploader = null,
- private ?FactoryInterface $avatarImageFactory = null,
+ private FileLocatorInterface $fileLocator,
+ private ImageUploaderInterface $imageUploader,
+ private FactoryInterface $avatarImageFactory,
)
Sylius\Bundle\CoreBundle\Fixture\Factory\ChannelExampleFactory
public function __construct(
private ChannelFactoryInterface $channelFactory,
private RepositoryInterface $localeRepository,
private RepositoryInterface $currencyRepository,
private RepositoryInterface $zoneRepository,
- ?TaxonRepositoryInterface $taxonRepository = null,
- ?FactoryInterface $shopBillingDataFactory = null,
+ private TaxonRepositoryInterface $taxonRepository,
+ private FactoryInterface $shopBillingDataFactory,
)
Sylius\Bundle\CoreBundle\Fixture\Factory\ShippingMethodExampleFactory
public function __construct(
private FactoryInterface $shippingMethodFactory,
private RepositoryInterface $zoneRepository,
private RepositoryInterface $shippingCategoryRepository,
private RepositoryInterface $localeRepository,
private ChannelRepositoryInterface $channelRepository,
- private ?RepositoryInterface $taxCategoryRepository = null,
+ private RepositoryInterface $taxCategoryRepository,
)
Sylius\Bundle\CoreBundle\Installer\Requirement\FilesystemRequirements
public function __construct(
TranslatorInterface $translator,
string $cacheDir,
string $logsDir,
- ?string $rootDir = null
)
Sylius\Bundle\CoreBundle\Twig\CheckoutStepsExtension
public function __construct(
- private readonly CheckoutStepsHelper|OrderPaymentMethodSelectionRequirementCheckerInterface $checkoutStepsHelper,
- private readonly ?OrderShippingMethodSelectionRequirementCheckerInterface $orderShippingMethodSelectionRequirementChecker = null,
+ private readonly OrderPaymentMethodSelectionRequirementCheckerInterface $orderPaymentMethodSelectionRequirementChecker,
+ private readonly OrderShippingMethodSelectionRequirementCheckerInterface $orderShippingMethodSelectionRequirementChecker,
)
Sylius\Bundle\CoreBundle\Twig\PriceExtension
public function __construct(
- private readonly PriceHelper|ProductVariantPricesCalculatorInterface $helper
+ private readonly ProductVariantPricesCalculatorInterface $productVariantPricesCalculator
)
Sylius\Bundle\CoreBundle\Twig\VariantResolverExtension
public function __construct(
- private readonly ProductVariantResolverInterface|VariantResolverHelper $helper
+ private readonly ProductVariantResolverInterface $productVariantResolver
)
Sylius\Bundle\ProductBundle\Form\Type\ProductOptionValueChoiceType
public function __construct(
- ?AvailableProductOptionValuesResolverInterface $availableProductOptionValuesResolver = null
+ private readonly AvailableProductOptionValuesResolverInterface $availableProductOptionValuesResolver
)
Sylius\Bundle\ShopBundle\Controller\ContactController
public function __construct(
private RouterInterface $router,
private FormFactoryInterface $formFactory,
private Environment $templatingEngine,
private ChannelContextInterface $channelContext,
private CustomerContextInterface $customerContext,
private LocaleContextInterface $localeContext,
- private ContactEmailManagerInterface|DeprecatedContactEmailManagerInterface $contactEmailManager,
+ private ContactEmailManagerInterface $contactEmailManager,
)
Sylius\Bundle\ShopBundle\EventListener\OrderCompleteListener
public function __construct(
- private DeprecatedOrderEmailManagerInterface|OrderEmailManagerInterface $orderEmailManager
+ private OrderEmailManagerInterface $orderEmailManager
)
Sylius\Bundle\UserBundle\Controller\SecurityController
public function __construct(
- private ?AuthenticationUtils $authenticationUtils = null,
- private ?FormFactoryInterface $formFactory = null,
+ private AuthenticationUtils $authenticationUtils,
+ private FormFactoryInterface $formFactory,
+ private Environment $twig,
)
Sylius\Component\Core\Calculator\ProductVariantPriceCalculator
public function __construct(
- private ?ProductVariantLowestPriceDisplayCheckerInterface $productVariantLowestPriceDisplayChecker = null,
+ private ProductVariantLowestPriceDisplayCheckerInterface $productVariantLowestPriceDisplayChecker,
)
Sylius\Component\Core\Factory\ChannelFactory
public function __construct(
private FactoryInterface $decoratedFactory,
private string $defaultCalculationStrategy,
- private ?FactoryInterface $channelPriceHistoryConfigFactory = null,
+ private FactoryInterface $channelPriceHistoryConfigFactory,
)
Sylius\Component\Core\Promotion\Checker\Rule\ItemTotalRuleChecker
public function __construct(
- private ?RuleCheckerInterface $itemTotalRuleChecker = null
)
Sylius\Component\Core\Provider\TranslationLocaleProvider
public function __construct(
- private LocaleCollectionProviderInterface|RepositoryInterface $localeRepository,
+ private LocaleCollectionProviderInterface $localeRepository,
private string $defaultLocaleCode,
)
Sylius\Component\Core\Translation\TranslatableEntityLocaleAssigner
public function __construct(
private LocaleContextInterface $localeContext,
private TranslationLocaleProviderInterface $translationLocaleProvider,
- private ?CLIContextCheckerInterface $commandBasedChecker = null,
+ private CLIContextCheckerInterface $commandBasedChecker,
)
Changes across the codebase:
- private StateMachineFactoryInterface|StateMachineInterface $stateMachineFactory,
+ private StateMachineInterface $stateMachine,
- private FactoryInterface|StateMachineInterface $stateMachineFactory,
+ private StateMachineInterface $stateMachine,
- private RequestStack|SessionInterface $requestStackOrSession,
+ private RequestStack $requestStack,
+ use Symfony\Component\Clock\ClockInterface;
- private DateTimeProviderInterface $calendar
+ private ClockInterface $clock
- private ?ProportionalIntegerDistributorInterface $proportionalIntegerDistributor = null,
+ private ProportionalIntegerDistributorInterface $proportionalIntegerDistributor,
sylius_default.bus and sylius_event.bus configurations.sylius.command_bus and sylius.event_bus for commands and events, respectively.sylius_core.state_machine configuration parameter.sylius_state_machine_abstraction.default_adapter from winzou_state_machine to symfony_workflow.sylius_*.resources.**.options, such as sylius_addressing.resources.address.options.sylius_inventory.checker configuration node.sylius_core.autoconfigure_with_attributes and sylius_order.autoconfigure_with_attributes.Sylius\Bundle\OrderBundle\Attribute\AsCartContextSylius\Bundle\OrderBundle\Attribute\AsOrderProcessorsylius_user.resources.{name}.user.resetting.pin configuration parameter.reset_password_pin emailSylius\Bundle\UserBundle\Controller\UserController::requestPasswordResetPinAction methodsylius.{user_type}_user.pin_generator.password_reset servicessylius.{user_type}_user.pin_uniqueness_checker.password_reset servicessylius.mongodb_odm.repository.classsylius.phpcr_odm.repository.classsylius.mailer.templatessylius.message.admin_user_create.validation_groups to sylius_admin.command_handler.create_admin_user.validation_groupsPaymentBundle have been moved and renamed:Winzou state machine:
- `@SyliusPaymentBundle/Resources/config/app/state_machine.yml`
+ `@SyliusPaymentBundle/Resources/config/app/state_machine/sylius_payment.yaml`
Symfony workflow:
- `@SyliusPaymentBundle/Resources/config/workflow/state_machine.yaml`
+ `@SyliusPaymentBundle/Resources/config/app/workflow/sylius_[resource].yaml`
Added a new parameter to specify validation groups for zones.
Configure custom validation groups for zone members in config/packages/_sylius.yaml.
Example:
sylius_addressing:
zone_member:
validation_groups:
country:
- 'sylius'
- 'sylius_zone_member_country'
zone:
- 'sylius'
- 'sylius_zone_member_zone'
LiipImagineBundle from default to sylius_image (reference).cache and/or data_loader parameters under the liip_imagine key.The experimental entities filter has been removed. It has been replaced by the generic entity one.
sylius_grid:
grids:
# ...
sylius_admin_catalog_promotion:
# ...
filters:
channel:
- type: entities
+ type: entity
label: sylius.ui.channel
form_options:
class: "%sylius.model.channel.class%"
options:
- field: product.channels.id
+ fields: [product.channels.id]
The encoder and salt have been removed from the User entities. The password hasher configured on Symfony security configuration is in use instead.
This "encoder" is configured via the Symfony security password hasher.
For example:
# config/packages/security.yaml
security:
# ...
password_hashers:
Sylius\Component\User\Model\UserInterface: argon2i
Also, check if you have an encoder configured in the sylius_user package configuration.
sylius_user:
# ...
encoder: plaintext # Remove this line
# ...
resources:
oauth:
user:
encoder: false # Remove this line
classes: Sylius\Component\User\Model\UserOAuth
Check your user hashed passwords in your production database. In modern Symfony projects, the hasher name is stored along with the password.
Example:
$argon2i$v=19$m=65536,t=4,p=1$VVJuMnpUUWhRY1daN1ppMA$2Tx6l3I+OUx+PUPn+vZz1jI3Z6l6IHh2kpG0NdpmYWE
If some of your users do not have the hasher name stored in the password field you may need to configure the "migrate_from" option by following the documentation: https://symfony.com/doc/current/security/passwords.html#configure-a-new-hasher-using-migrate-from
Note: If your app never changed the hasher name configuration, you don't need to configure this "migrate_from" configuration.
sylius_admin_dashboard_statisticssylius_admin_ajax_all_product_variants_by_codessylius_admin_ajax_all_product_variants_by_phrasesylius_admin_ajax_customer_group_by_codesylius_admin_ajax_customer_groups_by_phrasesylius_admin_ajax_find_product_optionssylius_admin_ajax_generate_product_slugsylius_admin_ajax_generate_taxon_slugsylius_admin_ajax_product_by_codesylius_admin_ajax_product_by_name_phrasesylius_admin_ajax_product_indexsylius_admin_ajax_product_options_by_phrasesylius_admin_ajax_products_by_phrasesylius_admin_ajax_product_variants_by_codessylius_admin_ajax_product_variants_by_phrasesylius_admin_ajax_taxon_by_codesylius_admin_ajax_taxon_by_name_phrasesylius_admin_ajax_taxon_leafssylius_admin_ajax_taxon_root_nodessylius_admin_dashboard_statisticssylius_admin_get_attribute_typessylius_admin_get_payment_gatewayssylius_admin_get_product_attributessylius_admin_partial_address_log_entry_indexsylius_admin_partial_catalog_promotion_showsylius_admin_partial_channel_indexsylius_admin_partial_customer_latestsylius_admin_partial_customer_showsylius_admin_partial_order_latestsylius_admin_partial_order_latest_in_channelsylius_admin_partial_product_showsylius_admin_partial_promotion_showsylius_admin_partial_taxon_showsylius_admin_partial_taxon_treesylius_admin_render_attribute_formssylius_shop_ajax_cart_add_itemsylius_shop_ajax_cart_item_removesylius_shop_ajax_user_check_actionsylius_shop_partial_cart_summarysylius_shop_partial_cart_add_itemsylius_shop_partial_channel_menu_taxon_indexsylius_shop_partial_product_association_showsylius_shop_partial_product_index_latestsylius_shop_partial_product_review_latestsylius_shop_partial_product_show_by_slugsylius_shop_partial_taxon_index_by_codesylius_shop_partial_taxon_show_by_slugIn Sylius 2.0, we have changed the visibility of services to private by default. This change enhances the performance
and maintainability of the application and also follows Symfony's best practices for service encapsulation.
Exceptions:
public (e.g., controllers, event listeners) remain public.ResourceController must be public as they are accessed directly from the container.Sylius\Bundle\ApiBundle\EventListener\PostgreSQLDriverExceptionListenerSylius\Bundle\ProductBundle\Controller\ProductSlugControllerSylius\Bundle\CoreBundle\Twig\FilterExtensionSylius\Bundle\CoreBundle\DependencyInjection\Compiler\LiipImageFiltersPassSylius\Bundle\GridBundle\Doctrine\PHPCRODM\DataSourceSylius\Bundle\GridBundle\Doctrine\PHPCRODM\DriverSylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExpressionBuilderSylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExpressionBuilderInterfaceSylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExpressionVisitorSylius\Bundle\GridBundle\Doctrine\PHPCRODM\ExtraComparisonSylius\Bundle\ResourceBundle\DependencyInjection\Driver\Doctrine\DoctrineODMDriverSylius\Bundle\ResourceBundle\DependencyInjection\Driver\Doctrine\DoctrinePHPCRDriverSylius\Bundle\ResourceBundle\Doctrine\ODM\MongoDB\DocumentRepositorySylius\Bundle\ResourceBundle\Doctrine\ODM\MongoDB\TranslatableRepositorySylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\DocumentRepositorySylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\EventListener\DefaultParentListenerSylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\EventListener\NameFilterListenerSylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\EventListener\NameResolverListenerSylius\Bundle\ResourceBundle\Doctrine\ODM\PHPCR\Form\Builder\DefaultFormBuilderSylius\Bundle\ResourceBundle\EventListener\ODMMappedSuperClassSubscriberSylius\Bundle\ResourceBundle\EventListener\ODMRepositoryClassSubscriberSylius\Bundle\ResourceBundle\EventListener\ODMTranslatableListenerSylius\Bundle\AddressingBundle\Controller\ProvinceControllerSylius\Bundle\AdminBundle\Controller\NotificationControllerSylius\Bundle\AdminBundle\Twig\NotificationWidgetExtensionSylius\Bundle\CoreBundle\Templating\Helper\CheckoutStepsHelperSylius\Bundle\CoreBundle\Templating\Helper\PriceHelperSylius\Bundle\CoreBundle\Templating\Helper\VariantResolverHelperSylius\Bundle\CurrencyBundle\Templating\Helper\CurrencyHelperSylius\Bundle\CurrencyBundle\Templating\Helper\CurrencyHelperInterfaceSylius\Bundle\InventoryBundle\Templating\Helper\InventoryHelperSylius\Bundle\LocaleBundle\Templating\Helper\LocaleHelperSylius\Bundle\LocaleBundle\Templating\Helper\LocaleHelperInterfaceSylius\Bundle\MoneyBundle\Templating\Helper\ConvertMoneyHelperSylius\Bundle\MoneyBundle\Templating\Helper\ConvertMoneyHelperInterfaceSylius\Bundle\MoneyBundle\Templating\Helper\FormatMoneyHelperSylius\Bundle\MoneyBundle\Templating\Helper\FormatMoneyHelperInterfaceSylius\Bundle\OrderBundle\Templating\Helper\AdjustmentsHelperSylius\Bundle\ProductBundle\Controller\ProductAttributeControllerSylius\Bundle\UserBundle\Security\UserLoginSylius\Bundle\UserBundle\Security\UserLoginInterfaceSylius\Bundle\UserBundle\Security\UserPasswordHasherSylius\Bundle\UserBundle\Security\UserPasswordHasherInterfaceSylius\Component\User\Security\Generator\UniquePinGeneratorSylius\Bundle\AdminBundle\Controller\Dashboard\StatisticsControllerSylius\Bundle\AdminBundle\Form\Extension\CatalogPromotionActionTypeExtensionSylius\Bundle\AdminBundle\Form\Extension\CatalogPromotionScopeTypeExtensionSylius\Bundle\AdminBundle\Menu\CustomerShowMenuBuilderSylius\Bundle\AdminBundle\Menu\OrderShowMenuBuilderSylius\Bundle\AdminBundle\Menu\ProductFormMenuBuilderSylius\Bundle\AdminBundle\Menu\ProductUpdateMenuBuilderSylius\Bundle\AdminBundle\Menu\ProductVariantFormMenuBuilderSylius\Bundle\AdminBundle\Menu\PromotionUpdateMenuBuilderSylius\Bundle\AdminBundle\Provider\StatisticsDataProviderSylius\Bundle\ApiBundle\ApiPlatform\Bridge\Symfony\Routing\CachedRouteNameResolverSylius\Bundle\ApiBundle\ApiPlatform\Bridge\Symfony\Routing\RouteNameResolverSylius\Bundle\ApiBundle\ApiPlatform\Factory\MergingExtractorResourceMetadataFactorySylius\Bundle\ApiBundle\Exception\ChannelCannotBeRemovedSylius\Bundle\ApiBundle\Exception\PaymentMethodCannotBeRemovedSylius\Bundle\ApiBundle\Exception\ProductAttributeCannotBeRemovedSylius\Bundle\ApiBundle\Exception\ProductCannotBeRemovedSylius\Bundle\ApiBundle\Exception\ProductVariantCannotBeRemovedSylius\Bundle\ApiBundle\Exception\PromotionCannotBeRemovedSylius\Bundle\ApiBundle\Exception\PromotionCouponCannotBeRemovedSylius\Bundle\ApiBundle\Exception\ProvinceCannotBeRemovedSylius\Bundle\ApiBundle\Exception\ShippingMethodCannotBeRemovedSylius\Bundle\ApiBundle\Exception\TaxonCannotBeRemovedSylius\Bundle\ApiBundle\Exception\ZoneCannotBeRemovedSylius\Bundle\ApiBundle\Validator\ResourceApiInputDataPropertiesValidatorSylius\Bundle\ApiBundle\EventListener\PostgreSQLDriverExceptionListenerSylius\Bundle\ApiBundle\DataTransformer\CommandAwareInputDataTransformerSylius\Bundle\ApiBundle\DataTransformer\CommandDataTransformerInterfaceSylius\Bundle\CoreBundle\Console\Command\Model\PluginInfoSylius\Bundle\CoreBundle\Form\Extension\CountryTypeExtensionSylius\Bundle\CoreBundle\Form\Extension\CustomerTypeExtensionSylius\Bundle\CoreBundle\Form\Extension\LocaleTypeExtensionSylius\Bundle\CoreBundle\Form\Type\Grid\Filter\EntitiesFilterTypeSylius\Bundle\CoreBundle\Form\EventSubscriber\AddUserFormSubscriberSylius\Bundle\CoreBundle\Twig\StateMachineExtensionSylius\Component\Core\Grid\Filter\EntitiesFilterSylius\Component\Core\Dashboard\DashboardStatisticsSylius\Component\Core\Dashboard\DashboardStatisticsProviderSylius\Component\Core\Dashboard\IntervalSylius\Component\Core\Dashboard\SalesDataProviderSylius\Component\Core\Dashboard\SalesSummarySylius\Component\Core\Dashboard\SalesSummaryInterfaceSylius\Bundle\PayumBundle\Action\Paypal\ExpressCheckout\ConvertPaymentActionSylius\Bundle\PayumBundle\Controller\PayumControllerSylius\Bundle\PayumBundle\Form\Type\PaypalGatewayConfigurationTypeSylius\Bundle\PayumBundle\Form\Type\StripeGatewayConfigurationTypeSylius\Bundle\UiBundle\ContextProvider\DefaultContextProviderSylius\Bundle\UiBundle\Registry\TemplateBlockSylius\Bundle\UiBundle\Registry\TemplateBlockRegistrySylius\Bundle\UiBundle\Renderer\DelegatingTemplateEventRendererSylius\Bundle\UiBundle\Renderer\TwigTemplateBlockRendererSylius\Bundle\UiBundle\Storage\FilterStorageInterfaceSylius\Bundle\UiBundle\Twig\SortByExtensionSylius\Bundle\UiBundle\Twig\TemplateEventExtensionSylius\Bundle\UiBundle\Twig\TestFormAttributeExtensionSylius\Bundle\UiBundle\Twig\TestHtmlAttributeExtensionSylius\Bundle\PromotionBundle\Validator\CatalogPromotionAction\ActionValidatorInterfaceSylius\Bundle\PromotionBundle\Validator\CatalogPromotionScope\ScopeValidatorInterfaceSylius\Component\Core\Promotion\Updater\Rule\TotalOfItemsFromTaxonRuleUpdaterSylius\Bundle\AdminBundle\EmailManager\OrderEmailManagerSylius\Bundle\AdminBundle\EmailManager\ShipmentEmailManagerSylius\Bundle\ShopBundle\EmailManager\OrderEmailManagerSylius\Bundle\ProductBundle\Form\Type\ProductOptionChoiceTypeSylius\Component\Core\Promotion\Updater\Rule\ProductAwareRuleUpdaterInterfaceSylius\Component\Promotion\Checker\Rule\CartQuantityRuleCheckerSylius\Bundle\CoreBundle\CatalogPromotion\Command\RemoveInactiveCatalogPromotionSylius\Bundle\CoreBundle\Provider\SessionProviderSylius\Component\Core\SyliusLocaleEventsSylius\Bundle\ShopBundle\Twig\OrderTaxesTotalExtension| Old Name | New Name |
|---|---|
Sylius\Bundle\ApiBundle\CommandHandler\Account\ResendVerificationEmailHandler | Sylius\Bundle\ApiBundle\CommandHandler\Account\RequestShopUserVerificationHandler |
Sylius\Bundle\ApiBundle\CommandHandler\Account\SendAccountVerificationEmailHandler | Sylius\Bundle\ApiBundle\CommandHandler\Account\SendShopUserVerificationEmailHandler |
Sylius\Bundle\ApiBundle\CommandHandler\Account\VerifyCustomerAccountHandler | Sylius\Bundle\ApiBundle\CommandHandler\Account\VerifyShopUserHandler |
| From | To |
|---|---|
Sylius\Bundle\PayumBundle\Validator\GatewayFactoryExistsValidator | Sylius\Bundle\PaymentBundle\Validator\Constraints\GatewayFactoryExistsValidator |
Sylius\Bundle\PayumBundle\Validator\GroupsGenerator\GatewayConfigGroupsGenerator | Sylius\Bundle\PaymentBundle\Validator\Constraints\GatewayConfigGroupsGenerator |
Sylius\Component\Promotion\Checker\Rule\ItemTotalRuleChecker | Sylius\Component\Core\Promotion\Checker\Rule\ItemTotalRuleChecker |
Sylius\Bundle\ShopBundle\EmailManager\ContactEmailManager | Sylius\Bundle\CoreBundle\Mailer\ContactEmailManager |
Sylius\Bundle\AdminBundle\EmailManager\ShipmentEmailManagerInterface | Sylius\Bundle\CoreBundle\Mailer\ShipmentEmailManagerInterface |
sylius.event_subscriber.odm_mapped_super_classsylius.event_subscriber.odm_repository_classsylius.grid_driver.doctrine.phpcrodmsylius.listener.api_postgresql_driver_exception_listenersylius.security.password_hashersylius.security.user_loginSylius\Bundle\UserBundle\Security\UserLoginInterfaceSylius\Component\User\Security\UserPasswordHasherInterfacesylius.controller.admin.notificationSylius\Buxndle\AdminBundle\Form\Extension\CatalogPromotionActionTypeExtensionsylius.controller.admin.dashboard.statisticsSylius\Bundle\AdminBundle\Form\Extension\CatalogPromotionScopeTypeExtensionsylius.admin.menu_builder.customer.showsylius.admin.menu_builder.order.showsylius.admin.menu_builder.product_formsylius.admin.menu_builder.product_variant_formsylius.admin.menu_builder.promotion.updateSylius\Bundle\AdminBundle\Provider\StatisticsDataProviderInterfaceSylius\Bundle\ApiBundle\ApiPlatform\ApiResourceConfigurationMergerapi_platform.route_name_resolver.cachedapi_platform.route_name_resolverapi_platform.metadata.resource.metadata_factory.yamlSylius\Bundle\ApiBundle\ApiPlatform\Metadata\Merger\LegacyResourceMetadataMergerSylius\Bundle\ApiBundle\ApiPlatform\ResourceMetadataPropertyValueResolverSylius\Bundle\ApiBundle\Controller\GetAddressLogEntryCollectionActionSylius\Bundle\ApiBundle\Controller\GetOrderAdjustmentsActionSylius\Bundle\ApiBundle\Controller\UploadAvatarImageActionSylius\Bundle\ApiBundle\Controller\UploadProductImageActionSylius\Bundle\ApiBundle\Controller\UploadTaxonImageActionSylius\Bundle\ApiBundle\DataPersister\AddressDataPersisterSylius\Bundle\ApiBundle\DataPersister\AdminUserDataPersisterSylius\Bundle\ApiBundle\DataPersister\ChannelDataPersisterSylius\Bundle\ApiBundle\DataPersister\CountryDataPersisterSylius\Bundle\ApiBundle\DataPersister\CustomerDataPersisterSylius\Bundle\ApiBundle\DataPersister\LocaleDataPersisterSylius\Bundle\ApiBundle\DataPersister\MessengerDataPersisterSylius\Bundle\ApiBundle\DataPersister\PaymentMethodDataPersisterSylius\Bundle\ApiBundle\DataPersister\ProductAttributeDataPersisterSylius\Bundle\ApiBundle\DataPersister\ProductDataPersisterSylius\Bundle\ApiBundle\DataPersister\ProductTaxonDataPersisterSylius\Bundle\ApiBundle\DataPersister\ProductVariantDataPersisterSylius\Bundle\ApiBundle\DataPersister\PromotionCouponDataPersisterSylius\Bundle\ApiBundle\DataPersister\PromotionDataPersisterSylius\Bundle\ApiBundle\DataPersister\ShippingMethodDataPersisterSylius\Bundle\ApiBundle\DataPersister\TranslatableDataPersisterSylius\Bundle\ApiBundle\DataPersister\ZoneDataPersisterSylius\Bundle\ApiBundle\DataProvider\AccountResetPasswordItemDataProviderSylius\Bundle\ApiBundle\DataProvider\AdminOrderItemAdjustmentsSubresourceDataProviderSylius\Bundle\ApiBundle\DataProvider\AdminResetPasswordItemDataProviderSylius\Bundle\ApiBundle\DataProvider\ChannelAwareItemDataProviderSylius\Bundle\ApiBundle\DataProvider\ChannelsCollectionDataProviderSylius\Bundle\ApiBundle\DataProvider\CustomerItemDataProviderSylius\Bundle\ApiBundle\DataProvider\OrderAdjustmentsSubresourceDataProviderSylius\Bundle\ApiBundle\DataProvider\OrderItemAdjustmentsSubresourceDataProviderSylius\Bundle\ApiBundle\DataProvider\OrderItemItemDataProviderSylius\Bundle\ApiBundle\DataProvider\OrderItemUnitItemDataProviderSylius\Bundle\ApiBundle\DataProvider\PaymentItemDataProviderSylius\Bundle\ApiBundle\DataProvider\PaymentMethodsCollectionDataProviderSylius\Bundle\ApiBundle\DataProvider\ProductAttributesSubresourceDataProviderSylius\Bundle\ApiBundle\DataProvider\ProductItemDataProviderSylius\Bundle\ApiBundle\DataProvider\ShipmentItemDataProviderSylius\Bundle\ApiBundle\DataProvider\ShippingMethodsCollectionDataProviderSylius\Bundle\ApiBundle\DataProvider\VerifyCustomerAccountItemDataProviderSylius\Bundle\ApiBundle\Filter\Doctrine\PromotionCouponPromotionFilterSylius\Bundle\ApiBundle\Filter\PaymentMethodFilterSylius\Bundle\ApiBundle\Filter\ShippingMethodFilterSylius\Bundle\ApiBundle\QueryHandler\GetAddressLogEntryCollectionHandlerSylius\Bundle\ApiBundle\Serializer\FlattenExceptionNormalizerSylius\Bundle\ApiBundle\SerializerContextBuilder\ReadOperationContextBuilderSylius\Bundle\ApiBundle\Validator\Constraints\AccountVerificationTokenEligibilityValidatorSylius\Bundle\ApiBundle\Validator\ResourceInputDataPropertiesValidatorInterfaceSylius\Bundle\ApiBundle\DataTransformer\ChannelCodeAwareInputCommandDataTransformersylius.api.data_transformer.command_aware_input_data_transformerSylius\Bundle\ApiBundle\DataTransformer\LocaleCodeAwareInputCommandDataTransformerSylius\Bundle\ApiBundle\DataTransformer\LoggedInCustomerEmailAwareCommandDataTransformerSylius\Bundle\ApiBundle\DataTransformer\LoggedInCustomerEmailIfNotSetAwareCommandDataTransformerSylius\Bundle\ApiBundle\DataTransformer\LoggedInShopUserIdAwareCommandDataTransformerSylius\Bundle\ApiBundle\DataTransformer\OrderTokenValueAwareInputCommandDataTransformerSylius\Bundle\ApiBundle\DataTransformer\ShipmentIdAwareInputCommandDataTransformerSylius\Bundle\ApiBundle\DataTransformer\SubresourceIdAwareCommandDataTransformerapi_platform.action.post_itemSylius\Bundle\CoreBundle\Console\Command\ShowAvailablePluginsCommandsylius.form.extension.type.countrysylius.form.extension.type.customersylius.form.extension.type.localesylius.grid_filter.entitiessylius.dashboard.statistics_providerSylius\Component\Core\Dashboard\SalesDataProviderInterfacesylius.payum_action.paypal_express_checkout.convert_paymentsylius.controller.payumsylius.form.type.gateway_configuration.stripeSylius\Bundle\UiBundle\Console\Command\DebugTemplateEventCommandSylius\Bundle\UiBundle\ContextProvider\ContextProviderInterfaceSylius\Bundle\UiBundle\DataCollector\TemplateBlockDataCollectorSylius\Bundle\UiBundle\DataCollector\TemplateBlockRenderingHistorySylius\Bundle\UiBundle\DataCollector\TraceableTemplateBlockRendererSylius\Bundle\UiBundle\DataCollector\TraceableTemplateEventRendererSylius\Bundle\UiBundle\Registry\TemplateBlockRegistryInterfaceSylius\Bundle\UiBundle\Renderer\HtmlDebugTemplateBlockRendererSylius\Bundle\UiBundle\Renderer\HtmlDebugTemplateEventRendererSylius\Bundle\UiBundle\Renderer\TemplateBlockRendererInterfaceSylius\Bundle\UiBundle\Renderer\TemplateEventRendererInterfaceSylius\Bundle\UiBundle\Storage\FilterStorageSylius\Bundle\UiBundle\Twig\LegacySonataBlockExtensionsylius.twig.extension.template_eventSylius\Bundle\PromotionBundle\Validator\CatalogPromotionActionValidatorSylius\Bundle\PromotionBundle\Validator\CatalogPromotionScopeValidatorSylius\Component\Promotion\Generator\PromotionCouponGeneratorInstructionInterfacesylius.promotion_rule_updater.total_of_items_from_taxonSylius\Component\Core\Promotion\Updater\Rule\ContainsProductRuleUpdaterSylius\Bundle\AdminBundle\EmailManager\OrderEmailManagerInterfacesylius.email_manager.shipmentSylius\Bundle\AdminBundle\EmailManager\ShipmentEmailManagerInterfaceSylius\Bundle\ShopBundle\EmailManager\ContactEmailManagerInterfacesylius.email_manager.contactsylius.email_manager.orderSylius\Bundle\ShopBundle\EmailManager\OrderEmailManagerInterfacesylius.form.type.product_option_choiceSylius\Bundle\ShopBundle\Calculator\OrderItemsSubtotalCalculatorInterfacesylius.calculator.order_items_subtotalSylius\Bundle\CoreBundle\CatalogPromotion\CommandHandler\RemoveInactiveCatalogPromotionHandlersylius.http_message_factorysylius.twig.extension.taxes| Old Name | New Name |
|---|---|
sylius.twig.extension.form_test_attribute_array | sylius_twig_extra.twig.extension.test_form_attribute |
sylius.twig.extension.form_test_attribute_name | sylius_twig_extra.twig.extension.test_html_attribute |
sylius.twig.extension.sort_by | sylius_twig_extra.twig.extension.sort_by |
Sylius\Bundle\UiBundle\Twig\RouteExistsExtension | sylius_twig_extra.twig.extension.route_exists |
sylius.form_registry.payum_gateway_config | sylius.form_registry.payment_gateway_config (moved to PaymentBundle) |
Sylius\Bundle\PayumBundle\Validator\GatewayFactoryExistsValidator | sylius.validator.gateway_factory_exists |
Sylius\Bundle\PayumBundle\Validator\GroupsGenerator\GatewayConfigGroupsGenerator | sylius.validator.groups_generator.gateway_config |
| Old Name | New Name |
|---|---|
Sylius\Bundle\AdminBundle\EventListener\ResourceDeleteSubscriber | Sylius\Bundle\AdminBundle\EventListener\ResourceDeleteListener |
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionAction\PercentageDiscountActionConfigurationType
was moved to the CoreBundle from PromotionBundle.Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionScopeType was moved from the CoreBundle
to the PromotionBundle.Added Sylius\Component\Order\Context\ResettableCartContextInterface, which extends Sylius\Component\Order\Context\CartContextInterface
and Symfony\Contracts\Service\ResetInterface.
Replaced sylius/calendar with symfony/clock. All instances of Sylius\Calendar\Provider\DateTimeProviderInterface
are now replaced by Symfony\Component\Clock\ClockInterface.
Affected classes:
- Sylius\Bundle\CoreBundle\CatalogPromotion\Announcer\CatalogPromotionAnnouncer
- Sylius\Bundle\CoreBundle\MessageHandler\Admin\Account\RequestResetPasswordEmailHandler
- Sylius\Bundle\CoreBundle\PriceHistory\Logger\PriceChangeLogger
- Sylius\Bundle\CoreBundle\PriceHistory\Remover\ChannelPricingLogEntriesRemover
- Sylius\Bundle\ShippingBundle\Assigner\ShippingDateAssigner
- Sylius\Bundle\PromotionBundle\Criteria\DateRange
- Sylius\Bundle\ApiBundle\Applicator\ArchivingShippingMethodApplicator
- Sylius\Bundle\ApiBundle\CommandHandler\Account\RequestResetPasswordTokenHandler
- Sylius\Bundle\ApiBundle\CommandHandler\Account\VerifyCustomerAccountHandler
- Sylius\Component\Taxation\Checker\TaxRateDateEligibilityChecker
\Serializable interface has been removed from Sylius\Component\User\Model\UserInterface.Addressing:
Sylius\Bundle\AddressingBundle\Doctrine\ORM\AddressRepositorySylius\Bundle\AddressingBundle\Doctrine\ORM\CountryRepositorySylius\Bundle\AddressingBundle\Doctrine\ORM\ProvinceRepositorySylius\Bundle\AddressingBundle\Doctrine\ORM\ZoneMemberRepositoryAttribute:
Sylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeRepositorySylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeTranslationRepositorySylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeValueRepositoryProduct:
Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductAssociationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductAssociationTypeTranslationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductAttributeRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductAttributeTranslationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductOptionTranslationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductOptionValueRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductOptionValueTranslationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductTranslationRepositorySylius\Bundle\ProductBundle\Doctrine\ORM\ProductVariantTranslationRepositoryCurrency:
Sylius\Bundle\CurrencyBundle\Doctrine\ORM\CurrencyRepositoryAddressing:
Sylius\Bundle\CoreBundle\Doctrine\ORM\AddressRepository now extends Sylius\Bundle\AddressingBundle\Doctrine\ORM\AddressRepository.Sylius\Component\Core\Repository\AddressRepositoryInterface now implements Sylius\Component\Addressing\Repository\AddressRepositoryInterface.Attribute:
Sylius\Bundle\CoreBundle\Doctrine\ORM\AttributeRepository now extends Sylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeRepository.Sylius\Component\Product\Repository\ProductAttributeValueRepositoryInterface now implements Sylius\Component\Attribute\Repository\AttributeValueRepositoryInterface.Product:
Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductAssociationRepository now extends Sylius\Bundle\ProductBundle\Doctrine\ORM\ProductAssociationRepository.lockedexpiresAtcredentialsExpireAtSylius\Component\User\Model\User model,
as well as the relevant columns in the database tables.| Old ID | New ID |
|---|---|
| AddressingBundle | |
sylius.province_naming_provider | sylius.provider.province_naming |
sylius.zone_matcher | sylius.matcher.zone |
sylius.address_comparator | sylius.comparator.address |
| AdminBundle | |
sylius.security.shop_user_impersonator | sylius_admin.security.shop_user_impersonator |
sylius.controller.impersonate_user | sylius_admin.controller.impersonate_user |
Sylius\Bundle\AdminBundle\Action\Account\RenderResetPasswordPageAction | sylius_admin.controller.account.render_reset_password_page |
Sylius\Bundle\AdminBundle\Action\Account\ResetPasswordAction | sylius_admin.controller.account.reset_password |
Sylius\Bundle\AdminBundle\Action\RemoveAvatarAction | sylius_admin.controller.remove_avatar |
Sylius\Bundle\AdminBundle\Action\ResendOrderConfirmationEmailAction | sylius_admin.controller.resend_order_confirmation_email |
Sylius\Bundle\AdminBundle\Action\ResendShipmentConfirmationEmailAction | sylius_admin.controller.resend_shipment_confirmation_email |
Sylius\Bundle\AdminBundle\Action\Account\RenderRequestPasswordResetPageAction | sylius_admin.controller.account.render_request_password_reset_page |
Sylius\Bundle\AdminBundle\Action\Account\RequestPasswordResetAction | sylius_admin.controller.account.request_password_reset |
sylius.controller.admin.dashboard | sylius_admin.controller.dashboard |
sylius.controller.customer_statistics | sylius_admin.controller.customer_statistics |
Sylius\Bundle\AdminBundle\Controller\RemoveCatalogPromotionAction | sylius_admin.controller.remove_catalog_promotion |
Sylius\Bundle\AdminBundle\Controller\RedirectHandler | sylius_admin.resource_controller.redirect_handler |
sylius.mailer.shipment_email_manager.admin | sylius_admin.mailer.shipment_email_manager |
Sylius\Bundle\AdminBundle\Form\RequestPasswordResetType | sylius_admin.form.type.request_password_reset |
Sylius\Bundle\AdminBundle\Form\Type\ResetPasswordType | sylius_admin.form.type.reset_password |
sylius.listener.shipment_ship | sylius_admin.listener.shipment_ship |
sylius.listener.locale | sylius_admin.listener.locale |
sylius.event_subscriber.admin_cache_control_subscriber | sylius_admin.event_subscriber.admin_section_cache_control |
sylius.event_subscriber.admin_filter_subscriber | sylius_admin.event_subscriber.admin_filter |
sylius.admin.menu_builder.main | sylius_admin.menu_builder.main |
Sylius\Bundle\AdminBundle\Console\Command\CreateAdminUserCommand | sylius_admin.console.command.create_admin_user |
Sylius\Bundle\AdminBundle\Console\Command\ChangeAdminUserPasswordCommand | sylius_admin.console.command.change_admin_user_password |
Sylius\Bundle\AdminBundle\MessageHandler\CreateAdminUserHandler | sylius_admin.command_handler.create_admin_user |
sylius.console.command_factory.question | sylius_admin.console.command_factory.question |
sylius.context.locale.admin_based | sylius_admin.context.locale.admin_based |
sylius.section_resolver.admin_uri_based_section_resolver | sylius_admin.section_resolver.admin_uri_based |
sylius.twig.extension.shop | sylius_admin.twig.extension.shop |
sylius.twig.extension.channels_currencies | sylius_admin.twig.extension.channels_currencies |
Sylius\Bundle\AdminBundle\Twig\OrderUnitTaxesExtension | sylius_admin.twig.extension.order_unit_taxes |
Sylius\Bundle\AdminBundle\Twig\ChannelNameExtension | sylius_admin.twig.extension.channel_name |
| ApiBundle | |
Sylius\Bundle\ApiBundle\Provider\CompositePaymentConfigurationProvider | sylius_api.provider.payment_configuration |
sylius.api.applicator.archiving_promotion | sylius_api.applicator.archiving_promotion |
Sylius\Bundle\ApiBundle\CommandHandler\Account\RegisterShopUserHandler | sylius_api.command_handler.account.register_shop_user |
Sylius\Bundle\ApiBundle\CommandHandler\Cart\PickupCartHandler | sylius_api.command_handler.cart.pickup_cart |
Sylius\Bundle\ApiBundle\CommandHandler\Cart\AddItemToCartHandler | sylius_api.command_handler.cart.add_item_to_cart |
Sylius\Bundle\ApiBundle\CommandHandler\Cart\RemoveItemFromCartHandler | sylius_api.command_handler.cart.remove_item_from_cart |
Sylius\Bundle\ApiBundle\CommandHandler\Cart\InformAboutCartRecalculationHandler | sylius_api.command_handler.cart.inform_about_cart_recalculation |
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\UpdateCartHandler | sylius_api.command_handler.checkout.update_cart |
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\ChooseShippingMethodHandler | sylius_api.command_handler.checkout.choose_shipping_method |
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\ChoosePaymentMethodHandler | sylius_api.command_handler.checkout.choose_payment_method |
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\CompleteOrderHandler | sylius_api.command_handler.checkout.complete_order |
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\ShipShipmentHandler | sylius_api.command_handler.checkout.ship_shipment |
Sylius\Bundle\ApiBundle\CommandHandler\Account\ChangePaymentMethodHandler | sylius_api.command_handler.account.change_payment_method |
Sylius\Bundle\ApiBundle\CommandHandler\Cart\ChangeItemQuantityInCartHandler | sylius_api.command_handler.cart.change_item_quantity_in_cart |
Sylius\Bundle\ApiBundle\CommandHandler\Catalog\AddProductReviewHandler | sylius_api.command_handler.catalog.add_product_review |
Sylius\Bundle\ApiBundle\CommandHandler\Cart\BlameCartHandler | sylius_api.command_handler.cart.blame_cart |
Sylius\Bundle\ApiBundle\CommandHandler\Account\ChangeShopUserPasswordHandler | sylius_api.command_handler.account.change_shop_user_password |
Sylius\Bundle\ApiBundle\CommandHandler\Account\RequestResetPasswordTokenHandler | sylius_api.command_handler.account.request_reset_password_token |
Sylius\Bundle\ApiBundle\CommandHandler\Account\RequestShopUserVerificationHandler | sylius_api.command_handler.account.request_shop_user_verification |
Sylius\Bundle\ApiBundle\CommandHandler\Account\ResetPasswordHandler | sylius_api.command_handler.account.reset_password |
Sylius\Bundle\ApiBundle\CommandHandler\Account\SendAccountRegistrationEmailHandler | sylius_api.command_handler.account.send_account_registration_email |
Sylius\Bundle\ApiBundle\CommandHandler\Account\SendShopUserVerificationEmailHandler | sylius_api.command_handler.account.send_shop_user_verification_email |
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\SendOrderConfirmationHandler | sylius_api.command_handler.checkout.send_order_confirmation |
Sylius\Bundle\ApiBundle\CommandHandler\Account\SendResetPasswordEmailHandler | sylius_api.command_handler.account.send_reset_password_email |
Sylius\Bundle\ApiBundle\CommandHandler\Checkout\SendShipmentConfirmationEmailHandler | sylius_api.command_handler.checkout.send_shipment_confirmation_email |
Sylius\Bundle\ApiBundle\CommandHandler\Account\VerifyShopUserHandler | sylius_api.command_handler.account.verify_shop_user |
Sylius\Bundle\ApiBundle\CommandHandler\SendContactRequestHandler | sylius_api.command_handler.send_contract_request |
Sylius\Bundle\ApiBundle\CommandHandler\Promotion\GeneratePromotionCouponHandler | sylius_api.command_handler.promotion.generate_promotion_coupon |
Sylius\Bundle\ApiBundle\CommandHandler\Customer\RemoveShopUserHandler | sylius_api.command_handler.customer.remove_shop_user |
Sylius\Bundle\ApiBundle\SerializerContextBuilder\ChannelContextBuilder | sylius_api.context_builder.channel |
Sylius\Bundle\ApiBundle\SerializerContextBuilder\LocaleContextBuilder | sylius_api.context_builder.locale |
Sylius\Bundle\ApiBundle\SerializerContextBuilder\HttpRequestMethodTypeContextBuilder | sylius_api.context_builder.http_request_method_type |
Sylius\Bundle\ApiBundle\Context\TokenValueBasedCartContext | sylius_api.context.cart.token_value_based |
Sylius\Bundle\ApiBundle\Controller\DeleteOrderItemAction | sylius_api.controller.delete_order_item |
Sylius\Bundle\ApiBundle\Controller\GetCustomerStatisticsAction | sylius_api.controller.get_customer_statistics |
Sylius\Bundle\ApiBundle\Controller\GetProductBySlugAction | sylius_api.controller.get_product_by_slug |
Sylius\Bundle\ApiBundle\Controller\RemoveCatalogPromotionAction | sylius_api.controller.remove_catalog_promotion |
Sylius\Bundle\ApiBundle\Controller\RemoveCustomerShopUserAction | sylius_api.controller.remove_customer_shop_user |
Sylius\Bundle\ApiBundle\Controller\GetStatisticsAction | sylius_api.controller.get_statistics |
Sylius\Bundle\ApiBundle\Creator\ProductImageCreator | sylius_api.creator.product_image |
Sylius\Bundle\ApiBundle\Creator\TaxonImageCreator | sylius_api.creator.taxon_image |
Sylius\Bundle\ApiBundle\EventHandler\OrderCompletedHandler | sylius_api.event_handler.order_completed |
Sylius\Bundle\ApiBundle\EventSubscriber\ProductVariantEventSubscriber | sylius_api.event_subscriber.product_variant |
Sylius\Bundle\ApiBundle\EventSubscriber\CatalogPromotionEventSubscriber | sylius_api.event_subscriber.catalog_promotion |
Sylius\Bundle\ApiBundle\EventSubscriber\KernelRequestEventSubscriber | sylius_api.event_subscriber.kernel_request |
Sylius\Bundle\ApiBundle\EventSubscriber\ProductDeletionEventSubscriber | sylius_api.event_subscriber.product_deletion |
Sylius\Bundle\ApiBundle\EventSubscriber\ProductSlugEventSubscriber | sylius_api.event_subscriber.product_slug |
Sylius\Bundle\ApiBundle\EventSubscriber\TaxonDeletionEventSubscriber | sylius_api.event_subscriber.taxon_deletion |
Sylius\Bundle\ApiBundle\EventSubscriber\TaxonSlugEventSubscriber | sylius_api.event_subscriber.taxon_slug |
Sylius\Bundle\ApiBundle\EventSubscriber\AttributeEventSubscriber | sylius_api.event_subscriber.attribute |
Sylius\Bundle\ApiBundle\Controller\Payment\GetPaymentConfiguration | sylius_api.controller.payment.get_payment_configuration |
sylius.api.provider.liip_image_filters | sylius_api.provider.liip_image_filters |
Sylius\Bundle\ApiBundle\QueryHandler\GetCustomerStatisticsHandler | sylius_api.query_handler.get_customer_statistics |
Sylius\Bundle\ApiBundle\QueryHandler\GetStatisticsHandler | sylius_api.query_handler.get_statistics |
sylius_api.security.voter.order | sylius_api.security.voter.order_adjustments |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\AddressDenormalizer | sylius_api.denormalizer.address |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\CommandArgumentsDenormalizer | sylius_api.denormalizer.command_arguments |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\CommandDenormalizer | sylius_api.denormalizer.command |
Sylius\Bundle\ApiBundle\Serializer\Normalizer\ProductNormalizer | sylius_api.normalizer.product |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ProductAttributeValueDenormalizer | sylius_api.denormalizer.product_attribute_value |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ProductDenormalizer | sylius_api.denormalizer.product |
Sylius\Bundle\ApiBundle\Serializer\Normalizer\ProductAttributeValueNormalizer | sylius_api.normalizer.product_attribute_value |
Sylius\Bundle\ApiBundle\Serializer\Normalizer\ImageNormalizer | sylius_api.normalizer.image |
Sylius\Bundle\ApiBundle\Serializer\Normalizer\CommandNormalizer | sylius_api.normalizer.command |
Sylius\Bundle\ApiBundle\Serializer\Normalizer\ProductVariantNormalizer | sylius_api.normalizer.product_variant |
Sylius\Bundle\ApiBundle\Serializer\Normalizer\ShippingMethodNormalizer | sylius_api.normalizer.shipping_method |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ZoneDenormalizer | sylius_api.denormalizer.zone |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\TranslatableDenormalizer | sylius_api.denormalizer.translatable |
date_time_normalizer | sylius_api.normalizer.date_time |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ChannelPriceHistoryConfigDenormalizer | sylius_api.denormalizer.channel_price_history_config |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ChannelDenormalizer | sylius_api.denormalizer.channel |
sylius.api.denormalizer.numeric_to_string.tax_rate | sylius_api.denormalizer.numeric_to_string.tax_rate |
sylius.api.denormalizer.numeric_to_string.exchange_rate | sylius_api.denormalizer.numeric_to_string.exchange_rate |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\CustomerDenormalizer | sylius_api.denormalizer.customer |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\TranslatableLocaleKeyDenormalizer | sylius_api.denormalizer.translatable_locale_key |
Sylius\Bundle\ApiBundle\Serializer\Denormalizer\ProductVariantChannelPricingsChannelCodeKeyDenormalizer | sylius_api.denormalizer.product_variant_channel_pricings_channel_code_key |
Sylius\Bundle\ApiBundle\Serializer\Normalizer\DoctrineCollectionValuesNormalizer | sylius_api.normalizer.doctrine_collection_values |
Sylius\Bundle\ApiBundle\Validator\Constraints\UniqueShopUserEmailValidator | sylius_api.validator.unique_shop_user_email |
Sylius\Bundle\ApiBundle\Validator\Constraints\OrderNotEmptyValidator | sylius_api.validator.order_not_empty |
Sylius\Bundle\ApiBundle\Validator\Constraints\OrderProductEligibilityValidator | sylius_api.validator.order_product_eligibility |
Sylius\Bundle\ApiBundle\Validator\Constraints\OrderItemAvailabilityValidator | sylius_api.validator.order_item_availability |
Sylius\Bundle\ApiBundle\Validator\Constraints\OrderShippingMethodEligibilityValidator | sylius_api.validator.order_shipping_method_eligibility |
Sylius\Bundle\ApiBundle\Validator\Constraints\CheckoutCompletionValidator | sylius_api.validator.checkout_completion |
Sylius\Bundle\ApiBundle\Validator\Constraints\ChosenShippingMethodEligibilityValidator | sylius_api.validator.chosen_shipping_method_eligibility |
Sylius\Bundle\ApiBundle\Validator\Constraints\AddingEligibleProductVariantToCartValidator | sylius_api.validator.adding_eligible_product_variant_to_cart |
Sylius\Bundle\ApiBundle\Validator\Constraints\ChangedItemQuantityInCartValidator | sylius_api.validator.changed_item_quantity_in_cart |
Sylius\Bundle\ApiBundle\Validator\Constraints\CorrectOrderAddressValidator | sylius_api.validator.correct_order_address |
Sylius\Bundle\ApiBundle\Validator\Constraints\OrderPaymentMethodEligibilityValidator | sylius_api.validator.order_payment_method_eligibility |
Sylius\Bundle\ApiBundle\Validator\Constraints\ChosenPaymentMethodEligibilityValidator | sylius_api.validator.chosen_payment_method_eligibility |
Sylius\Bundle\ApiBundle\Validator\Constraints\CanPaymentMethodBeChangedValidator | sylius_api.validator.can_payment_method_be_changed |
Sylius\Bundle\ApiBundle\Validator\Constraints\CorrectChangeShopUserConfirmPasswordValidator | sylius_api.validator.correct_change_shop_user_confirm_password |
Sylius\Bundle\ApiBundle\Validator\Constraints\ConfirmResetPasswordValidator | sylius_api.validator.confirm_reset_password |
Sylius\Bundle\ApiBundle\Validator\Constraints\PromotionCouponEligibilityValidator | sylius_api.validator.promotion_coupon_eligibility |
Sylius\Bundle\ApiBundle\Validator\Constraints\ShipmentAlreadyShippedValidator | sylius_api.validator.shipment_already_shipped |
Sylius\Bundle\ApiBundle\Validator\Constraints\ShopUserResetPasswordTokenExistsValidator | sylius_api.validator.shop_user_reset_password_token_exists |
Sylius\Bundle\ApiBundle\Validator\Constraints\ShopUserResetPasswordTokenNotExpiredValidator | sylius_api.validator.shop_user_reset_password_token_not_expired |
Sylius\Bundle\ApiBundle\Validator\Constraints\ShopUserNotVerifiedValidator | sylius_api.validator.shop_user_not_verified |
Sylius\Bundle\ApiBundle\Validator\Constraints\SingleValueForProductVariantOptionValidator | sylius_api.validator.single_value_for_product_variant_option |
Sylius\Bundle\ApiBundle\Validator\Constraints\UniqueReviewerEmailValidator | sylius_api.validator.unique_reviewer_email |
Sylius\Bundle\ApiBundle\Validator\Constraints\AdminResetPasswordTokenNonExpiredValidator | sylius_api.validator.admin_reset_password_token_non_expired |
sylius.validator.order_address_requirement | sylius_api.validator.order_address_requirement |
Sylius\Bundle\ApiBundle\PropertyInfo\Extractor\EmptyPropertyListExtractor | sylius_api.extractor.property_info.empty_property_list |
Sylius\Bundle\ApiBundle\SectionResolver\AdminApiUriBasedSectionResolver | sylius_api.section_resolver.admin_api_uri_based |
Sylius\Bundle\ApiBundle\SectionResolver\ShopApiUriBasedSectionResolver | sylius_api.section_resolver.shop_api_uri_based |
Sylius\Bundle\ApiBundle\EventListener\ApiCartBlamerListener | sylius_api.listener.api_cart_blamer |
sylius.listener.api_authentication_success_listener | sylius_api.listener.authentication_success |
sylius.listener.admin_api_authentication_success_listener | sylius_api.listener.admin_authentication_success |
Sylius\Bundle\ApiBundle\OpenApi\Factory\OpenApiFactory | sylius_api.open_api.factory |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\AcceptLanguageHeaderDocumentationModifier | sylius_api.open_api.documentation_modifier.accept_language_header |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\AdministratorDocumentationModifier | sylius_api.open_api.documentation_modifier.administrator |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\AttributeTypeDocumentationModifier | sylius_api.open_api.documentation_modifier.attribute_type |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductDocumentationModifier | sylius_api.open_api.documentation_modifier.product |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ImageDocumentationModifier | sylius_api.open_api.documentation_modifier.image |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductReviewDocumentationModifier | sylius_api.open_api.documentation_modifier.product_review |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductSlugDocumentationModifier | sylius_api.open_api.documentation_modifier.product_slug |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ProductVariantDocumentationModifier | sylius_api.open_api.documentation_modifier.product_variant |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\ShippingMethodDocumentationModifier | sylius_api.open_api.documentation_modifier.shipping_method |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\CustomerDocumentationModifier | sylius_api.open_api.documentation_modifier.customer |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\StatisticsDocumentationModifier | sylius_api.open_api.documentation_modifier.statistics |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\PromotionDocumentationModifier | sylius_api.open_api.documentation_modifier.promotion |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\OrderAdjustmentsTypeDocumentationModifier | sylius_api.open_api.documentation_modifier.order_adjustments |
Sylius\Bundle\ApiBundle\OpenApi\Documentation\AddressLogEntryDocumentationModifier | sylius_api.open_api.documentation_modifier.address_log_entry |
| AttributeBundle | |
sylius.form.type.attribute_type.select.choices_collection | sylius.form.type.attribute_type.configuration.select_attribute_choices_collection |
sylius.attribute_type.select.value.translations | sylius.form.type.attribute_type.configuration.select_attribute_value_translations |
sylius.validator.valid_text_attribute | sylius.validator.valid_text_attribute_configuration |
sylius.validator.valid_select_attribute | sylius.validator.valid_select_attribute_configuration |
| ChannelBundle | |
sylius.channel_collector | sylius.collector.channel |
| CoreBundle | |
Sylius\Bundle\CoreBundle\CatalogPromotion\Calculator\FixedDiscountPriceCalculator | sylius.calculator.catalog_promotion.fixed_discount_price |
Sylius\Bundle\CoreBundle\CatalogPromotion\Calculator\PercentageDiscountPriceCalculator | sylius.calculator.catalog_promotion.percentage_discount_price |
Sylius\Bundle\CoreBundle\CatalogPromotion\Checker\CatalogPromotionEligibilityChecker | sylius.checker.catalog_promotion_eligibility |
Sylius\Bundle\CoreBundle\CatalogPromotion\Checker\InForProductScopeVariantChecker | sylius.checker.catalog_promotion.in_for_product_scope_variant |
Sylius\Bundle\CoreBundle\CatalogPromotion\Checker\InForTaxonsScopeVariantChecker | sylius.checker.catalog_promotion.in_for_taxons_scope_variant |
Sylius\Bundle\CoreBundle\CatalogPromotion\Checker\InForVariantsScopeVariantChecker | sylius.checker.catalog_promotion.in_for_variants_scope_variant |
Sylius\Bundle\CoreBundle\CatalogPromotion\CommandHandler\ApplyCatalogPromotionsOnVariantsHandler | sylius.command_handler.catalog_promotion.apply_variants |
Sylius\Bundle\CoreBundle\CatalogPromotion\CommandHandler\DisableCatalogPromotionHandler | sylius.command_handler.catalog_promotion.disable |
Sylius\Bundle\CoreBundle\CatalogPromotion\CommandHandler\RemoveCatalogPromotionHandler | sylius.command_handler.catalog_promotion.remove |
Sylius\Bundle\CoreBundle\CatalogPromotion\CommandHandler\UpdateCatalogPromotionStateHandler | sylius.command_handler.catalog_promotion.update_state |
Sylius\Bundle\CoreBundle\CatalogPromotion\EventListener\CatalogPromotionEventListener | sylius.listener.catalog_promotion |
Sylius\Bundle\CoreBundle\CatalogPromotion\EventListener\ProductEventListener | sylius.listener.catalog_promotion.product |
Sylius\Bundle\CoreBundle\CatalogPromotion\EventListener\ProductVariantEventListener | sylius.listener.catalog_promotion.product_variant |
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\CatalogPromotionCreatedListener | sylius.listener.catalog_promotion.created |
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\CatalogPromotionUpdatedListener | sylius.listener.catalog_promotion.updated |
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\CatalogPromotionEndedListener | sylius.listener.catalog_promotion.ended |
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\CatalogPromotionStateChangedListener | sylius.listener.catalog_promotion.state_changed |
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\ProductCreatedListener | sylius.listener.catalog_promotion.product_created |
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\ProductUpdatedListener | sylius.listener.catalog_promotion.product_updated |
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\ProductVariantCreatedListener | sylius.listener.catalog_promotion.product_variant_created |
Sylius\Bundle\CoreBundle\CatalogPromotion\Listener\ProductVariantUpdatedListener | sylius.listener.catalog_promotion.product_variant_updated |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\AssignOrderNumberListener | sylius.listener.workflow.order.assign_order_number |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\AssignOrderTokenListener | sylius.listener.workflow.order.assign_order_token |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CreatePaymentListener | sylius.listener.workflow.order.create_payment |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CreateShipmentListener | sylius.listener.workflow.order.create_shipment |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\DecrementPromotionUsagesListener | sylius.listener.workflow.order.decrement_promotion_usages |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\IncrementPromotionUsagesListener | sylius.listener.workflow.order.increment_promotion_usages |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\HoldInventoryListener | sylius.listener.workflow.order.hold_inventory |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\GiveBackInventoryListener | sylius.listener.workflow.order.give_back_inventory |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\RequestOrderPaymentListener | sylius.listener.workflow.order.request_order_payment |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\RequestOrderShippingListener | sylius.listener.workflow.order.request_order_shipping |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\SaveCustomerAddressesListener | sylius.listener.workflow.order.save_customer_addresses |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\SetImmutableNamesListener | sylius.listener.workflow.order.set_immutable_names |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CancelOrderPaymentListener | sylius.listener.workflow.order.cancel_order_payment |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CancelOrderShippingListener | sylius.listener.workflow.order.cancel_order_shipping |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CancelPaymentListener | sylius.listener.workflow.order.cancel_payment |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Order\CancelShipmentListener | sylius.listener.workflow.order.cancel_shipment |
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\ProcessCartListener | sylius.listener.workflow.order_checkout.process_cart |
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\ApplyCreateTransitionOnOrderListener | sylius.listener.workflow.order_checkout.apply_create_transition_on_order |
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\SaveCheckoutCompletionDateListener | sylius.listener.workflow.order_checkout.save_checkout_completion_date |
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\ResolveOrderCheckoutStateListener | sylius.listener.workflow.order_checkout.resolve_order_checkout_state |
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\ResolveOrderPaymentStateListener | sylius.listener.workflow.order_checkout.resolve_order_payment_state |
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderCheckout\ResolveOrderShippingStateListener | sylius.listener.workflow.order_checkout.resolve_order_shipping_state |
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderPayment\SellOrderInventoryListener | sylius.listener.workflow.order_payment.sell_order_inventory |
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderPayment\ResolveOrderStateListener | sylius.listener.workflow.order_payment.resolve_order_state |
Sylius\Bundle\CoreBundle\EventListener\Workflow\OrderShipping\ResolveOrderStateListener | sylius.listener.workflow.order_shipping.resolve_order_state |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Payment\ProcessOrderListener | sylius.listener.workflow.payment.process_order |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Payment\ResolveOrderPaymentStateListener | sylius.listener.workflow.payment.resolve_order_payment_state |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Shipment\AssignShippingDateListener | sylius.listener.workflow.shipment.assign_shipping_date |
Sylius\Bundle\CoreBundle\EventListener\Workflow\Shipment\ResolveOrderShipmentStateListener | sylius.listener.workflow.shipment.resolve_order_shipment_state |
Sylius\Bundle\CoreBundle\PriceHistory\CommandHandler\ApplyLowestPriceOnChannelPricingsHandler | sylius.command_handler.price_history.apply_lowest_price_on_channel_pricings |
Sylius\Bundle\CoreBundle\PriceHistory\EntityObserver\CreateLogEntryOnPriceChangeObserver | sylius.entity_observer.price_history.create_log_entry_on_price_change |
Sylius\Bundle\CoreBundle\PriceHistory\EntityObserver\ProcessLowestPricesOnChannelChangeObserver | sylius.entity_observer.price_history.process_lowest_prices_on_channel_change |
Sylius\Bundle\CoreBundle\PriceHistory\EntityObserver\ProcessLowestPricesOnChannelPriceHistoryConfigChangeObserver | sylius.entity_observer.price_history.process_lowest_prices_on_channel_price_history_config_change |
Sylius\Bundle\CoreBundle\PriceHistory\EventListener\OnFlushEntityObserverListener | sylius.listener.price_history.on_flush_entity_observer |
Sylius\Bundle\CoreBundle\PriceHistory\EventListener\ChannelPricingLogEntryEventListener | sylius.listener.price_history.channel_pricing_log_entry |
Sylius\Bundle\CoreBundle\CatalogPromotion\DiscountApplicationCriteria\ExclusiveCriteria | sylius.discount_application_criteria.catalog_promotion.exclusive |
Sylius\Bundle\CoreBundle\CatalogPromotion\DiscountApplicationCriteria\MinimumPriceCriteria | sylius.discount_application_criteria.catalog_promotion.minimum_price |
sylius.promotion_coupon_channels_eligibility_checker | sylius.checker.promotion_coupon.channel_eligibility |
sylius.form.type.checkout_address | sylius.form.type.checkout.address |
sylius.form.type.checkout_select_shipping | sylius.form.type.checkout.select_shipping |
sylius.form.type.checkout_shipment | sylius.form.type.checkout.shipment |
sylius.form.type.checkout_select_payment | sylius.form.type.checkout.select_payment |
sylius.form.type.checkout_payment | sylius.form.type.checkout.payment |
sylius.form.type.checkout_complete | sylius.form.type.checkout.complete |
Sylius\Bundle\CoreBundle\Console\Command\CancelUnpaidOrdersCommand | sylius.console.command.cancel_unpaid_orders |
Sylius\Bundle\CoreBundle\Console\Command\CheckRequirementsCommand | sylius.console.command.check_requirements |
Sylius\Bundle\CoreBundle\PriceHistory\Console\Command\ClearPriceHistoryCommand | sylius.console.command.price_history.clear |
Sylius\Bundle\CoreBundle\Console\Command\InstallAssetsCommand | sylius.console.command.install_assets |
Sylius\Bundle\CoreBundle\Console\Command\InstallCommand | sylius.console.command.install |
Sylius\Bundle\CoreBundle\Console\Command\InstallDatabaseCommand | sylius.console.command.install_database |
Sylius\Bundle\CoreBundle\Console\Command\InstallSampleDataCommand | sylius.console.command.install_sample_data |
Sylius\Bundle\CoreBundle\Console\Command\SetupCommand | sylius.console.command.setup |
Sylius\Bundle\CoreBundle\Console\Command\InformAboutGUSCommand | sylius.console.command.inform_about_gus |
Sylius\Bundle\CoreBundle\Console\Command\JwtConfigurationCommand | sylius.console.command.jwt_configuration |
Sylius\Bundle\CoreBundle\Console\Command\ShowPlusInfoCommand | sylius.console.command.show_plus_info |
sylius.locale_provider.channel_based | sylius.provider.locale.channel_based |
Sylius\Bundle\CoreBundle\Fixture\CatalogPromotionFixture | sylius.fixture.catalog_promotion |
Sylius\Bundle\CoreBundle\Fixture\Factory\CatalogPromotionExampleFactory | sylius.fixture.example_factory.catalog_promotion |
Sylius\Bundle\CoreBundle\Fixture\Factory\CatalogPromotionScopeExampleFactory | sylius.fixture.example_factory.catalog_promotion_scope |
Sylius\Bundle\CoreBundle\Fixture\Factory\CatalogPromotionActionExampleFactory | sylius.fixture.example_factory.catalog_promotion_action |
sylius_fixtures.listener.catalog_promotion_executor | sylius.fixture.listener.catalog_promotion_executor |
Sylius\Bundle\CoreBundle\Fixture\Listener\ImagesPurgerListener | sylius.fixture.listener.images_purger |
Sylius\Bundle\CoreBundle\Form\Extension\CatalogPromotionTypeExtension | sylius.form.extension.type.catalog_promotion |
Sylius\Bundle\CoreBundle\Form\Type\CatalogPromotionAction\ChannelBasedFixedDiscountActionConfigurationType | sylius.form.type.catalog_promotion_action.channel_based_fixed_discount_action_configuration |
sylius.form.type.for_products_scope | sylius.form.type.catalog_promotion_scope.for_products_scope_configuration |
sylius.form.type.for_taxons_scope | sylius.form.type.catalog_promotion_scope.for_taxons_scope_configuration |
sylius.form.type.for_variants_scope | sylius.form.type.catalog_promotion_scope.for_variants_scope_configuration |
sylius.form.type.customer_guest | sylius.form.type.customer.guest |
sylius.form.type.customer_checkout_guest | sylius.form.type.customer.checkout_guest |
sylius.form.type.customer_simple_registration | sylius.form.type.customer.simple_registration |
sylius.form.type.customer_registration | sylius.form.type.customer.registration |
sylius.form.type.add_to_cart | sylius.form.type.order.add_to_cart |
sylius.form.type.channel_pricing | sylius.form.type.product.channel_pricing |
sylius.form.type.channel_based_shipping_calculator.flat_rate | sylius.form.type.shipping.calculator.channel_based_flat_rate_configuration |
sylius.form.type.channel_based_shipping_calculator.per_unit_rate | sylius.form.type.shipping.calculator.channel_based_per_unit_rate_configuration |
sylius.form.type.autocomplete_product_taxon_choice | sylius.form.type.product_taxon_autocomplete_choice |
sylius.installer.checker.command_directory | sylius.checker.installer.command_directory |
sylius.installer.checker.sylius_requirements | sylius.checker.installer.sylius_requirements |
sylius.commands_provider.database_setup | sylius.provider.installer.database_setup_commands |
sylius.setup.currency | sylius.setup.installer.currency |
sylius.setup.locale | sylius.setup.installer.locale |
sylius.setup.channel | sylius.setup.installer.channel |
sylius.requirements | sylius.requirements.installer.sylius |
sylius.listener.channel | sylius.listener.channel_deletion |
sylius.listener.default_username | sylius.listener.default_username_orm |
Sylius\Bundle\CoreBundle\EventListener\LocaleAwareListener | sylius.listener.locale_aware |
Sylius\Bundle\CoreBundle\EventListener\XFrameOptionsSubscriber | sylius.event_subscriber.x_frame_options |
Sylius\Bundle\CoreBundle\EventListener\PaymentPreCompleteListener | sylius.listener.payment_pre_complete |
Sylius\Bundle\CoreBundle\EventListener\ProductDeletionListener | sylius.listener.product_deletion |
Sylius\Bundle\CoreBundle\EventListener\PostgreSQLDefaultSchemaListener | sylius.listener.postgre_sql_default_schema |
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantOptionsMapProvider | sylius.provider.product_variant_map.options |
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantPriceMapProvider | sylius.provider.product_variant_map.price |
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantOriginalPriceMapProvider | sylius.provider.product_variant_map.original_price |
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantAppliedPromotionsMapProvider | sylius.provider.product_variant_map.applied_promotions |
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantLowestPriceMapProvider | sylius.provider.product_variant_map.lowest_price |
sylius.promotion_rule_checker.customer_group | sylius.checker.promotion_rule.customer_group |
sylius.promotion_rule_checker.nth_order | sylius.checker.promotion_rule.nth_order |
sylius.promotion_rule_checker.shipping_country | sylius.checker.promotion_rule.shipping_country |
sylius.promotion_rule_checker.has_taxon | sylius.checker.promotion_rule.has_taxon |
sylius.promotion_rule_checker.total_of_items_from_taxon | sylius.checker.promotion_rule.total_of_items_from_taxon |
sylius.promotion_rule_checker.contains_product | sylius.checker.promotion_rule.contains_product |
sylius.promotion_rule_checker.item_total | sylius.checker.promotion_rule.item_total |
sylius.promotion_rule_checker.cart_quantity | sylius.checker.promotion_rule.cart_quantity |
sylius.promotion_action.fixed_discount | sylius.command.promotion_action.fixed_discount |
sylius.promotion_action.unit_fixed_discount | sylius.command.promotion_action.unit_fixed_discount |
sylius.promotion_action.percentage_discount | sylius.command.promotion_action.percentage_discount |
sylius.promotion_action.unit_percentage_discount | sylius.command.promotion_action.unit_percentage_discount |
sylius.promotion_action.shipping_percentage_discount | sylius.command.promotion_action.shipping_percentage_discount |
sylius.promotion.eligibility_checker.promotion_coupon_per_customer_usage_limit | sylius.checker.promotion.promotion_coupon_per_customer_usage_limit_eligibility |
sylius.promotion_filter.taxon | sylius.filter.promotion.taxon |
sylius.promotion_filter.product | sylius.filter.promotion.product |
sylius.promotion_filter.price_range | sylius.filter.promotion.price_range |
sylius.promotion.units_promotion_adjustments_applicator | sylius.applicator.promotion.units_adjustments |
sylius.promotion_usage_modifier | sylius.modifier.promotion.order_usage |
sylius.promotion_rule_updater.has_taxon | sylius.updater.promotion_rule.has_taxon |
sylius.provider.channel_based_default_zone_provider | sylius.provider.channel_based_default_zone |
sylius.translation_locale_provider.admin | sylius.provider.translation_locale.admin |
sylius.orders_totals_provider.day | sylius.provider.statistics.orders_totals.day |
sylius.orders_totals_provider.month | sylius.provider.statistics.orders_totals.month |
sylius.orders_totals_provider.year | sylius.provider.statistics.orders_totals.year |
sylius.shipping_method_rule_checker.order_total_greater_than_or_equal | sylius.checker.shipping_method_rule.order_total_greater_than_or_equal |
sylius.shipping_method_rule_checker.order_total_less_than_or_equal | sylius.checker.shipping_method_rule.order_total_less_than_or_equal |
sylius.state_resolver.order_checkout | sylius.state_resolver.checkout |
sylius.taxation.order_shipment_taxes_applicator | sylius.applicator.taxation.order_shipment |
sylius.taxation.order_items_taxes_applicator | sylius.applicator.taxation.order_items |
sylius.taxation.order_item_units_taxes_applicator | sylius.applicator.taxation.order_item_units |
sylius.taxation.order_items_based_strategy | sylius.strategy.taxation.tax_calculation.order_items_based |
sylius.taxation.order_item_units_based_strategy | sylius.strategy.taxation.tax_calculation.order_item_units_based |
sylius.validator.unique.registered_user | sylius.validator.registered_user |
sylius.validator.shipping_method_integrity | sylius.validator.order_shipping_method_eligibility |
sylius.validator.payment_method_integrity | sylius.validator.order_payment_method_eligibility |
sylius.validator.product_integrity | sylius.validator.order_product_eligibility |
sylius.validator.order_confirmation_with_valid_order_state | sylius.validator.resend_order_confirmation_email_with_valid_order_state |
sylius.validator.shipment_confirmation_with_valid_order_state | sylius.validator.resend_shipment_confirmation_email_with_valid_order_state |
Sylius\Bundle\CoreBundle\Validator\Constraints\MaxIntegerValidator | sylius.validator.max_integer |
sylius.integer_distributor | sylius.distributor.integer |
sylius.proportional_integer_distributor | sylius.distributor.proportional_integer |
sylius.invoice_number_generator | sylius.generator.invoice_number.id_based |
sylius.image_uploader | sylius.uploader.image |
Sylius\Component\Core\Filesystem\Adapter\FlysystemFilesystemAdapter | sylius.adapter.filesystem.flysystem |
Sylius\Bundle\CoreBundle\Collector\CartCollector | sylius.collector.cart |
sylius.shipping_methods_resolver.zones_and_channel_based | sylius.resolver.shipping_methods.zones_and_channel_based |
sylius.payment_methods_resolver.channel_based | sylius.resolver.payment_methods.channel_based |
sylius.payment_method_resolver.default | sylius.resolver.payment_method.default |
sylius.taxation_address_resolver | sylius.resolver.taxation_address |
sylius.inventory.order_item_availability_checker | sylius.checker.inventory.order_item_availability |
sylius.inventory.order_inventory_operator | sylius.operator.inventory.order_inventory |
sylius.custom_inventory.order_inventory_operator | sylius.custom_operator.inventory.order_inventory |
Sylius\Bundle\CoreBundle\Twig\ProductVariantsMapExtension | sylius.twig.extension.product_variants_map |
sylius.unique_id_based_order_token_assigner | sylius.assigner.order_token.unique_id_based |
sylius.customer_unique_address_adder | sylius.adder.customer.unique_address |
sylius.customer_order_addresses_saver | sylius.saver.customer.order_addresses |
sylius.order_item_quantity_modifier.limiting | sylius.modifier.cart.limiting_order_item_quantity |
sylius.customer_ip_assigner | sylius.assigner.customer_id |
sylius.section_resolver.uri_based_section_resolver | sylius.section_resolver.uri_based |
sylius.reviewer_reviews_remover | sylius.remover.reviewer_reviews |
sylius.unpaid_orders_state_updater | sylius.updater.unpaid_orders_state |
sylius.order_payment_provider | sylius.provider.payment.order |
sylius.customer_statistics_provider | sylius.provider.statistics.customer |
sylius.order_item_names_setter | sylius.setter.order.item_names |
sylius.user_password_resetter.admin | sylius.resetter.user_password.admin |
sylius.user_password_resetter.shop | sylius.resetter.user_password.shop |
| CurrencyBundle | |
sylius.currency_converter | sylius.converter.currency |
sylius.currency_name_converter | sylius.converter.currency_name |
| InventoryBundle | |
sylius.availability_checker | sylius.checker.inventory.availability |
sylius.availability_checker.default | sylius.checker.inventory.availability |
| LocaleBundle | |
Sylius\Bundle\LocaleBundle\Context\RequestHeaderBasedLocaleContext | sylius.context.locale.request_header_based |
sylius.locale_collection_provider | sylius.provider.locale_collection |
sylius.locale_collection_provider.cahced | sylius.provider.locale_collection.cached |
sylius.locale_provider | sylius.provider.locale |
sylius.locale_converter | sylius.converter.locale |
Sylius\Bundle\LocaleBundle\Doctrine\EventListener\LocaleModificationListener | sylius.doctrine.listener.locale_modification |
| MoneyBundle | |
sylius.twig.extension.convert_amount | sylius.twig.extension.convert_money |
sylius.twig.extension.money | sylius.twig.extension.format_money |
sylius.money_formatter | sylius.formatter.money |
| OrderBundle | |
sylius.order_modifier | sylius.modifier.order |
sylius.order_item_quantity_modifier | sylius.modifier.order_item_quantity |
sylius.order_number_assigner | sylius.number_assigner.order_number |
sylius.adjustments_aggregator | sylius.aggregator.adjustments_by_label |
sylius.expired_carts_remover | sylius.remover.expired_carts |
sylius.sequential_order_number_generator | sylius.number_generator.sequential_order |
Sylius\Bundle\OrderBundle\Console\Command\RemoveExpiredCartsCommand | sylius.console.command.remove_expired_carts |
| PaymentBundle | |
sylius.payment_methods_resolver | sylius.resolver.payment_methods |
sylius.payment_methods_resolver.default | sylius.resolver.payment_methods.default |
| PayumBundle | |
sylius.payum_action.authorize_payment | sylius_payum.action.authorize_payment |
sylius.payum_action.capture_payment | sylius_payum.action.capture_payment |
sylius.payum_action.execute_same_request_with_payment_details | sylius_payum.action.execute_same_request_with_payment_details |
sylius.payum_action.resolve_next_route | sylius_payum.action.resolve_next_route |
sylius.payum_action.offline.convert_payment | sylius_payum.action.offline.convert_payment |
sylius.payum_action.offline.status | sylius_payum.action.offline.status |
sylius.payum_action.offline.resolve_next_route | sylius_payum.action.offline.resolve_next_route |
sylius.payum_extension.update_payment_state | sylius_payum.extension.update_payment_state |
sylius.factory.payum_get_status_action | sylius_payum.factory.get_status |
sylius.factory.payum_resolve_next_route | sylius_payum.factory.resolve_next_route |
sylius.form.extension.type.gateway_config.crypted | sylius_payum.form.extension.type.crypted_gateway_config |
sylius.payment_description_provider | sylius_payum.provider.payment_description |
sylius.payum.http_client | sylius_payum.http_client |
| ProductBundle | |
sylius.form.type.sylius_product_associations | sylius.form.type.product_associations |
sylius.form.event_subscriber.product_variant_generator | sylius.form.event_subscriber.generate_product_variants |
Sylius\Bundle\ProductBundle\Validator\ProductVariantOptionValuesConfigurationValidator | sylius.validator.product_variant_option_values_configuration |
sylius.validator.product_code_uniqueness | sylius.validator.unique_simple_product_code |
sylius.product_variant_resolver.default | sylius.resolver.product_variant.default |
sylius.available_product_option_values_resolver | sylius.resolver.available_product_option_values |
| PromotionBundle | |
Sylius\Bundle\PromotionBundle\Console\Command\GenerateCouponsCommand | sylius.console.command.generate_coupons |
sylius.promotion_coupon_duration_eligibility_checker | sylius.checker.promotion_coupon.duration_eligibility |
sylius.promotion_coupon_usage_limit_eligibility_checker | sylius.checker.promotion_coupon.usage_limit_eligibility |
sylius.promotion_coupon_eligibility_checker | sylius.checker.promotion_coupon_eligibility |
sylius.promotion_duration_eligibility_checker | sylius.checker.promotion.duration_eligibility |
sylius.promotion_usage_limit_eligibility_checker | sylius.checker.promotion.usage_limit_eligibility |
sylius.promotion_subject_coupon_eligibility_checker | sylius.checker.promotion.subject_coupon_eligibility |
sylius.promotion_rules_eligibility_checker | sylius.checker.promotion.rules_eligibility |
sylius.promotion_archival_eligibility_checker | sylius.checker.promotion.archival_eligibility |
sylius.promotion_eligibility_checker | sylius.checker.promotion_eligibility |
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionType | sylius.form.type.catalog_promotion |
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionScopeType | sylius.form.type.catalog_promotion_scope |
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionAction\PercentageDiscountActionConfigurationType | sylius.form.type.catalog_promotion_action.percentage_discount_action_configuration |
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionActionType | sylius.form.type.catalog_promotion_action |
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionTranslationType | sylius.form.type.catalog_promotion_translation |
Sylius\Bundle\PromotionBundle\Form\Type\PromotionTranslationType | sylius.form.type.promotion_translation |
sylius.form.type.promotion_action.collection | sylius.form.type.promotion_action_collection |
sylius.form.type.promotion_rule.collection | sylius.form.type.promotion_rule_collection |
sylius.validator.date_range | sylius.validator.promotion_date_range |
Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionActionGroupValidator | sylius.validator.catalog_promotion_action_group |
Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionActionTypeValidator | sylius.validator.catalog_promotion_action_type |
Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionScopeGroupValidator | sylius.validator.catalog_promotion_scope_group |
Sylius\Bundle\PromotionBundle\Validator\CatalogPromotionScopeTypeValidator | sylius.validator.catalog_promotion_scope_type |
Sylius\Bundle\PromotionBundle\Validator\PromotionActionGroupValidator | sylius.validator.promotion_action_group |
Sylius\Bundle\PromotionBundle\Validator\PromotionActionTypeValidator | sylius.validator.promotion_action_type |
Sylius\Bundle\PromotionBundle\Validator\PromotionRuleGroupValidator | sylius.validator.promotion_role_group |
Sylius\Bundle\PromotionBundle\Validator\PromotionRuleTypeValidator | sylius.validator.promotion_role_type |
Sylius\Bundle\PromotionBundle\Validator\PromotionNotCouponBasedValidator | sylius.validator.promotion_not_coupon_based |
sylius.promotion_processor | sylius.processor.promotion |
sylius.promotion_applicator | sylius.action.applicator.promotion |
sylius.registry_promotion_rule_checker | sylius.registry.promotion.rule_checker |
sylius.registry_promotion_action | sylius.registry.promotion_action |
sylius.active_promotions_provider | sylius.provider.active_promotions |
sylius.promotion_coupon_generator | sylius.generator.promotion_coupon |
sylius.promotion_coupon_generator.percentage_policy | sylius.generator.percentage_generation_policy |
| ReviewBundle | |
sylius.average_rating_calculator | sylius.calculator.average_rating |
sylius.%s_review.average_rating_updater | sylius.updater.%s_review.average_rating |
Note: %s refers to the entity names associated with reviews (e.g., product, etc.). | |
| ShippingBundle | |
sylius.category_requirement_shipping_method_eligibility_checker | sylius.checker.shipping_method.category_requirement_eligibility |
sylius.shipping_method_rules_shipping_method_eligibility_checker | sylius.checker.shipping_method.rules_eligibility |
sylius.shipping_method_eligibility_checker | sylius.checker.shipping_method_eligibility |
sylius.form.type.shipping_method_rule.collection | sylius.form.type.shipping_method_rule_collection |
Sylius\Bundle\ShippingBundle\Validator\ShippingMethodCalculatorExistsValidator | sylius.validator.shipping_method_calculator_exists |
Sylius\Bundle\ShippingBundle\Validator\ShippingMethodRuleValidator | sylius.validator.shipping_method_rule |
Sylius\Bundle\ShippingBundle\Validator\GroupsGenerator\ShippingMethodConfigurationGroupsGenerator | sylius.validator.groups_generator.shipping_method_configuration |
sylius.shipping_methods_resolver | sylius.resolver.shipping_methods |
sylius.shipping_methods_resolver.default | sylius.resolver.shipping_methods.default |
sylius.shipping_method_resolver.default | sylius.resolver.shipping_method.default |
sylius.shipping_calculator | sylius.calculator.shipping |
sylius.shipping_calculator.flat_rate | sylius.calculator.shipping.flat_rate |
sylius.shipping_calculator.per_unit_rate | sylius.calculator.shipping.per_unit_rate |
sylius.shipping_date_assigner | sylius.assigner.shipping_date |
sylius.shipping_method_rule_checker.total_weight_greater_than_or_equal | sylius.checker.shipping_method_rule.total_weight_greater_than_or_equal |
sylius.shipping_method_rule_checker.total_weight_less_than_or_equal | sylius.checker.shipping_method_rule.total_weight_less_than_or_equal |
| ShopBundle | |
sylius.shop.locale_switcher | sylius_shop.locale_switcher |
sylius.storage.locale | sylius_shop.storage.locale |
sylius.context.locale.storage_based | sylius_shop.context.locale.storage_based |
sylius.shop.locale_stripping_router | sylius_shop.router.locale_stripping |
sylius.listener.non_channel_request_locale | sylius_shop.listener.non_channel_locale |
sylius.controller.shop.contact | sylius_shop.controller.contact |
sylius.controller.shop.currency_switch | sylius_shop.controller.currency_switch |
sylius.controller.shop.locale_switch | sylius_shop.controller.locale_switch |
sylius.controller.shop.register_thank_you | sylius_shop.controller.register_thank_you |
sylius.mailer.contact_email_manager.shop | sylius_shop.mailer.contact_email_manager |
sylius.mailer.order_email_manager.shop | sylius_shop.mailer.order_email_manager |
sylius.listener.shop_cart_blamer | sylius_shop.listener.shop_cart_blamer |
sylius.listener.email_updater | sylius_shop.listener.customer_email_updater |
sylius.listener.shop_customer_account_sub_section_cache_control_subscriber | sylius_shop.event_subscriber.shop_customer_account_sub_section_cache_control |
sylius.listener.order_customer_ip | sylius_shop.listener.order_customer_ip |
sylius.listener.order_complete | sylius_shop.listener.order_complete |
sylius.listener.user_registration | sylius_shop.listener.user_registration |
sylius.listener.order_integrity_checker | sylius_shop.listener.order_integrity_checker |
sylius.order_locale_assigner | sylius_shop.listener.order_locale_assigner |
sylius.listener.session_cart | sylius_shop.event_subscriber.session_cart |
sylius.listener.user_cart_recalculation | sylius_shop.listener.user_cart_recalculation |
sylius.listener.user_impersonated | sylius_shop.listener.user_impersonated |
sylius.shop.menu_builder.account | sylius_shop.menu_builder.account |
sylius.twig.extension.original_price_to_display | sylius_shop.twig.extension.order_item_original_price_to_display |
Sylius\Bundle\ShopBundle\Twig\OrderPaymentsExtension | sylius_shop.twig.extension.order_payments |
sylius.section_resolver.shop_uri_based_section_resolver | sylius_shop.section_resolver.shop_uri_based |
sylius.context.cart.session_and_channel_based | sylius_shop.context.cart.session_and_channel_based |
sylius.storage.cart_session | sylius_shop.storage.cart_session |
sylius.grid_filter.shop_string | sylius_shop.grid_filter.string |
| TaxationBundle | |
sylius.tax_rate_resolver | sylius.resolver.tax_rate |
sylius.tax_rate_date_eligibility_checker | sylius.checker.tax_rate_date_eligibility |
| TaxonomyBundle | |
sylius.doctrine.odm.mongodb.unitOfWork | sylius.doctrine.odm.mongodb.unit_of_work |
| UiBundle | |
Sylius\Bundle\UiBundle\Twig\RedirectPathExtension | sylius.twig.extension.redirect_path |
| UserBundle | |
Sylius\Bundle\UserBundle\Console\Command\DemoteUserCommand | sylius.console.command.demote_user |
Sylius\Bundle\UserBundle\Console\Command\PromoteUserCommand | sylius.console.command.promote_user |
sylius.listener.user_mailer_listener | sylius.listener.user_mailer |
The old service IDs are no longer available in Sylius 2.0. Please ensure your configurations and service references use the new service IDs.
| Current ID | New Alias |
|---|---|
| AddressingBundle | |
Sylius\Component\Addressing\Checker\ZoneDeletionCheckerInterface | sylius.checker.zone_deletion |
Sylius\Component\Addressing\Checker\CountryProvincesDeletionCheckerInterface | sylius.checker.country_provinces_deletion |
| ApiBundle | |
Sylius\Bundle\ApiBundle\Applicator\ArchivingShippingMethodApplicatorInterface | sylius_api.applicator.archiving_shipping_method |
Sylius\Bundle\ApiBundle\Applicator\OrderStateMachineTransitionApplicatorInterface | sylius_api.applicator.order_state_machine_transition |
Sylius\Bundle\ApiBundle\Applicator\PaymentStateMachineTransitionApplicatorInterface | sylius_api.applicator.payment_state_machine_transition |
Sylius\Bundle\ApiBundle\Applicator\ProductReviewStateMachineTransitionApplicatorInterface | sylius_api.applicator.product_review_state_machine_transition |
Sylius\Bundle\ApiBundle\Context\UserContextInterface | sylius_api.context.user.token_based |
Sylius\Bundle\ApiBundle\Provider\PathPrefixProviderInterface | sylius_api.provider.path_prefix |
Sylius\Bundle\ApiBundle\Provider\AdjustmentOrderProviderInterface | sylius_api.provider.adjustment_order |
Sylius\Bundle\ApiBundle\Changer\PaymentMethodChangerInterface | sylius_api.changer.payment_method |
Sylius\Bundle\ApiBundle\Converter\IriToIdentifierConverterInterface | sylius_api.converter.iri_to_identifier |
Sylius\Bundle\ApiBundle\Mapper\AddressMapperInterface | sylius_api.mapper.address |
Sylius\Bundle\ApiBundle\Checker\AppliedCouponEligibilityCheckerInterface | sylius_api.checker.applied_coupon_eligibility |
Sylius\Bundle\ApiBundle\Modifier\OrderAddressModifierInterface | sylius_api.modifier.order_address |
Sylius\Bundle\ApiBundle\Assigner\OrderPromotionCodeAssignerInterface | sylius_api.assigner.order_promotion_code |
| CoreBundle | |
Sylius\Bundle\CoreBundle\CatalogPromotion\Applicator\CatalogPromotionApplicatorInterface | sylius.applicator.catalog_promotion |
Sylius\Bundle\CoreBundle\CatalogPromotion\Applicator\ActionBasedDiscountApplicatorInterface | sylius.applicator.catalog_promotion.action_based_discount |
Sylius\Component\CoreBundle\CatalogPromotion\Calculator\CatalogPromotionPriceCalculatorInterface | sylius.calculator.catalog_promotion.price |
Sylius\Bundle\CoreBundle\CatalogPromotion\Checker\ProductVariantForCatalogPromotionEligibilityInterface | sylius.checker.catalog_promotion.product_variant_for_catalog_promotion_eligibility |
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\AllProductVariantsCatalogPromotionsProcessorInterface | sylius.processor.catalog_promotion.all_product_variant |
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\CatalogPromotionClearerInterface | sylius.processor.catalog_promotion.clearer |
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\CatalogPromotionStateProcessorInterface | sylius.processor.catalog_promotion.state |
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\ProductCatalogPromotionsProcessorInterface | sylius.processor.catalog_promotion.product |
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\ProductVariantCatalogPromotionsProcessorInterface | sylius.processor.catalog_promotion.product_variant |
Sylius\Bundle\CoreBundle\CatalogPromotion\Processor\CatalogPromotionRemovalProcessorInterface | sylius.processor.catalog_promotion.removal |
Sylius\Component\Core\Checker\ProductVariantLowestPriceDisplayCheckerInterface | sylius.checker.product_variant_lowest_price_display |
Sylius\Bundle\CoreBundle\PriceHistory\CommandDispatcher\ApplyLowestPriceOnChannelPricingsCommandDispatcherInterface | sylius.command_dispatcher.price_history.batched_apply_lowest_price_on_channel_pricings |
Sylius\Bundle\CoreBundle\PriceHistory\Logger\PriceChangeLoggerInterface | sylius.logger.price_history.price_change |
Sylius\Bundle\CoreBundle\PriceHistory\Processor\ProductLowestPriceBeforeDiscountProcessorInterface | sylius.processor.price_history.product_lowest_price_before_discount |
Sylius\Bundle\CoreBundle\Calculator\DelayStampCalculatorInterface | sylius.calculator.delay_stamp |
Sylius\Bundle\CoreBundle\CatalogPromotion\Announcer\CatalogPromotionAnnouncerInterface | sylius.announcer.catalog_promotion |
Sylius\Bundle\CoreBundle\CatalogPromotion\Announcer\CatalogPromotionRemovalAnnouncerInterface | sylius.announcer.catalog_promotion.removal |
Sylius\Bundle\CoreBundle\CatalogPromotion\CommandDispatcher\ApplyCatalogPromotionsOnVariantsCommandDispatcherInterface | sylius.command_dispatcher.catalog_promotion.batched_apply_on_variants |
Sylius\Component\Core\Checker\CLIContextCheckerInterface | sylius.checker.cli_context |
Sylius\Component\Core\Provider\ProductVariantMap\ProductVariantsMapProviderInterface | sylius.provider.product_variant_map |
Sylius\Component\Core\Promotion\Checker\ProductInPromotionRuleCheckerInterface | sylius.checker.promotion.product_in_promotion_rule |
Sylius\Component\Core\Promotion\Checker\TaxonInPromotionRuleCheckerInterface | sylius.checker.promotion.taxon_in_promotion_rule |
Sylius\Bundle\CoreBundle\Provider\ChannelBasedProductTranslationProviderInterface | sylius.provider.channel_based_product_translation |
Sylius\Bundle\CoreBundle\Provider\CustomerProviderInterface | sylius.provider.customer |
Sylius\Component\Core\Statistics\Provider\StatisticsProviderInterface | sylius.provider.statistics |
Sylius\Component\Core\Statistics\Provider\BusinessActivitySummaryProviderInterface | sylius.provider.statistics.business_activity_summary |
Sylius\Component\Core\Statistics\Provider\SalesStatisticsProviderInterface | sylius.provider.statistics.sales |
Sylius\Component\Core\Distributor\MinimumPriceDistributorInterface | sylius.distributor.minimum_price |
Sylius\Component\Core\Generator\ImagePathGeneratorInterface | sylius.generator.image_path |
Sylius\Bundle\CoreBundle\PriceHistory\Remover\ChannelPricingLogEntriesRemoverInterface | sylius.remover.channel_pricing_log_entries |
Sylius\Component\Core\Payment\Remover\OrderPaymentsRemoverInterface | sylius.remover.payment.order |
Sylius\Component\Core\Cart\Resolver\CreatedByGuestFlagResolverInterface | sylius.resolver.cart.created_by_guest_flag |
Sylius\Bundle\CoreBundle\Order\Checker\OrderPromotionsIntegrityCheckerInterface | sylius.checker.order.promotions_integrity |
Sylius\Bundle\CoreBundle\Resolver\CustomerResolverInterface | sylius.resolver.customer |
Sylius\Component\Core\Statistics\Registry\OrdersTotalsProvidersRegistryInterface | sylius.registry.statistics.orders_totals_providers |
Sylius\Component\Core\Positioner\PositionerInterface | sylius.positioner |
| LocaleBundle | |
Sylius\Bundle\LocaleBundle\Checker\LocaleUsageCheckerInterface | sylius.checker.locale_usage |
| ProductBundle | |
Sylius\Component\Product\Resolver\ProductVariantResolverInterface | sylius.resolver.product_variant |
| PromotionBundle | |
Sylius\Bundle\PromotionBundle\Provider\EligibleCatalogPromotionsProviderInterface | sylius.provider.eligible_catalog_promotions |
| TaxonomyBundle | |
Sylius\Bundle\TaxonomyBundle\Repository\TaxonTreeRepositoryInterface | sylius.custom_repository.tree.taxon |
The Normalizer and Denormalizer in ApiBundle have been reorganized into subdirectories, moving from Sylius\Bundle\ApiBundle\Serializer
to Sylius\Bundle\ApiBundle\Serializer\Normalizer and Sylius\Bundle\ApiBundle\Serializer\Denormalizer.
The SerializerContextBuilder classes in ApiBundle have been moved to the Sylius\Bundle\ApiBundle\Serializer\ContextBuilder subdirectory.
The Filter, QueryCollectionExtension, and QueryItemExtension classes in ApiBundle have been reorganized into separate sections (admin, shop, common)
based on their usage context, and grouped by resources.
The Message directory has been renamed to Command. Following this change, MessageHandler has been renamed to CommandHandler, and MessageDispatcher has been renamed to CommandDispatcher.
AdminBundle now contains base form types for every resource.
Use these as an extension point for admin customizations instead the ones from CoreBundle or other minor bundles.
Similarly, use form types from ShopBundle for the Shop context.
offline. Use sylius plugins for the gateways of your choosing.themeName form field existence is made optional and depends on ShopBundle presence.Sylius\Bundle\CoreBundle\Theme\ChannelBasedThemeContext has been moved to
the Sylius\Bundle\ShopBundle\Theme\ChannelBasedThemeContext.node_modules directory and reinstall the packages.use_webpack option was removed from the sylius_ui configuration, and the Webpack has become the only module
bundler provided by Sylius.use_webpack twig global variable was removed. Webpack is always used now, and there is no need to check for it.knp_menu.menu_builder tags introduced in Sylius 1.14 are now the only valid menu builder tags in
Sylius 2.0:| Old Alias | New Alias |
|---|---|
| AdminBundle | |
sylius.admin.main | sylius_admin.main |
| ShopBundle | |
sylius.shop.account | sylius_shop.account |
Most of the existing JavaScript has been replaced by SymfonyUX with Stimulus, which includes live components. This change led to the removal of jQuery and a significant reduction of custom JavaScript in the project. Check out the documentation for more information here.
All partial routes rendered in templates have been removed and replaced by rendering Twig components.
Twig Hooks are a robust and powerful alternative to the Sonata Block Events and the old Sylius Template Events systems.
Sonata Blocks have been fully removed as they were not actively maintained/supported for a long time.
Sylius Twig Hooks is a new generation of template customization and extension, providing:
Improved Structure
Previously, all template events were configured in a single, monolithic events.yaml file, making it difficult to navigate and maintain:
/app
/config
/app
/events.yaml
With Twig Hooks, the configuration has been reorganized into smaller, more manageable files. Each file corresponds to a specific part of the application, enhancing clarity and maintainability:
/app
/config
/app
/twig_hooks
/product
/create.yaml
/update.yaml
/index.yaml
/show.yaml
The structure of the template directories has also been improved. Previously, templates were organized in a less intuitive way, with some structures inconsistent with the template event definitions:
/resources
/views
/AdminUser
/Crud
/Product
/Form
/_avatarImage.html.twig
/_form.html.twig
Now, the templates are organized in a more consistent manner, with all templates grouped by resource and aligned with hook naming conventions:
/templates
/product
/form
/sections
/translations
description.html.twig
meta_description.html.twig
meta_keywords.html.twig
name.html.twig
short_description.html.twig
slug.html.twig
/translations.html.twig
/show
/shared
/another_resource
Old configuration (Template Events)
The previous approach grouped all event blocks within events.yaml, which led to a cluttered and hard-to-manage configuration:
sylius_ui:
events:
sylius.admin.index:
blocks:
before_header_legacy:
template: "@SyliusAdmin/Crud/Block/_legacySonataEvent.html.twig"
priority: 25
context:
postfix: index.before_header
header:
template: "@SyliusAdmin/Crud/Index/_header.html.twig"
priority: 20
after_header_legacy:
template: "@SyliusAdmin/Crud/Block/_legacySonataEvent.html.twig"
priority: 15
context:
postfix: index.after_header
content:
template: "@SyliusAdmin/Crud/Index/_content.html.twig"
priority: 10
after_content:
template: "@SyliusAdmin/Crud/Block/_legacySonataEvent.html.twig"
priority: 5
context:
postfix: index.after_content
New configuration (Twig Hooks)
The new system organizes hooks by specific parts of the application, simplifying customization and improving readability:
sylius_twig_hooks:
hooks:
'sylius_admin.common.index':
sidebar:
template: '@SyliusAdmin/shared/crud/common/sidebar.html.twig'
priority: 200
navbar:
template: '@SyliusAdmin/shared/crud/common/navbar.html.twig'
priority: 100
content:
template: '@SyliusAdmin/shared/crud/common/content.html.twig'
priority: 0
'sylius_admin.common.index.content':
flashes:
template: '@SyliusAdmin/shared/crud/common/content/flashes.html.twig'
priority: 300
header:
template: '@SyliusAdmin/shared/crud/common/content/header.html.twig'
priority: 200
grid:
template: '@SyliusAdmin/shared/crud/index/content/grid.html.twig'
priority: 100
footer:
template: '@SyliusAdmin/shared/crud/common/content/footer.html.twig'
priority: -100
'sylius_admin.common.index.content.header':
breadcrumbs:
template: '@SyliusAdmin/shared/crud/index/content/header/breadcrumbs.html.twig'
priority: 100
title_block:
template: '@SyliusAdmin/shared/crud/common/content/header/title_block.html.twig'
priority: 0
'sylius_admin.common.index.content.header.title_block':
title:
template: '@SyliusAdmin/shared/crud/common/content/header/title_block/title.html.twig'
priority: 100
actions:
template: '@SyliusAdmin/shared/crud/common/content/header/title_block/actions.html.twig'
priority: 0
'sylius_admin.common.index.content.grid':
filters:
template: '@SyliusAdmin/shared/crud/index/content/grid/filters.html.twig'
priority: 200
data_table:
template: '@SyliusAdmin/shared/crud/index/content/grid/data_table.html.twig'
priority: 100
no_data_block:
template: '@SyliusAdmin/shared/crud/index/content/grid/no_results.html.twig'
priority: 0
'sylius_admin.common.index.content.grid.no_results':
image:
template: '@SyliusAdmin/shared/crud/index/content/grid/no_results/image.html.twig'
priority: 300
title:
template: '@SyliusAdmin/shared/crud/index/content/grid/no_results/title.html.twig'
priority: 200
subtitle:
template: '@SyliusAdmin/shared/crud/index/content/grid/no_results/subtitle.html.twig'
priority: 100
action:
template: '@SyliusAdmin/shared/crud/index/content/grid/no_results/action.html.twig'
priority: 0
Twig Hooks cover both the admin and shop areas comprehensively, ensuring consistency across the entire application.
AdminBundle hooks start with the sylius_admin prefix, while ShopBundle hooks start with the sylius_shop prefix.
For more information visit the Sylius Stack.
sylius.behat.api_security has been replaced by sylius.behat.api_admin_security and sylius.behat.api_shop_security services.Psalm, the PHPStan is now the only static analysis tool used in the project.