176 KiB
UPGRADE FROM 1.14 TO 2.0
To start off
Even 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.
- Packages configuration changes:
# 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
- API firewalls have been renamed and user checkers have been configured on them
with
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
- Routing changes (note that these shop routes are not localized with the prefix: /{_locale} configuration entry):
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%"
- Bundle configuration changes:
# 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],
];
* New Symfony/Messenger transports for handling payment requests have been added.
Therefore, you need to add the following configuration to your .env file:
```diff
###> symfony/messenger ###
...
+ SYLIUS_MESSENGER_TRANSPORT_PAYMENT_REQUEST_DSN=sync://
+ SYLIUS_MESSENGER_TRANSPORT_PAYMENT_REQUEST_FAILED_DSN=sync://
###< symfony/messenger ###
Migrations
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
PHP support
Sylius 2.0 comes with a bump of minimum supported PHP version to 8.2.
Symfony support
The support of Symfony 5.4 has been dropped. Sylius 2.0 supports both Symfony 6.4 and 7.1
Main Update
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.
Dependencies
Replaced:
- The
swiftmailer/swiftmailerdependency has been removed. Usesymfony/mailerinstead.
Moved:
- The
sylius/theme-bundledependency has been moved from CoreBundle to ShopBundle.
Removed:
-
Removed from main composer.json:
payum/paypal-express-checkout-nvppayum/stripestripe/stripe-php
-
Removed from bundles:
AdminBundle:twig/intl-extra
ApiBundle:sylius/payum-bundle
AttributeBundle:friendsofsymfony/rest-bundlejms/serializer-bundle
ChannelBundle:friendsofsymfony/rest-bundlejms/serializer-bundle
CoreBundle:sylius/payum-bundlesylius/theme-bundlesylius/ui-bundlesymfony/templatingjms/serializer-bundlesonata-project/block-bundlesylius-labs/polyfill-symfony-framework-bundle
CurrencyBundle:friendsofsymfony/rest-bundlejms/serializer-bundlesymfony/templating
InventoryBundle:friendsofsymfony/rest-bundlejms/serializer-bundlesymfony/templating
LocaleBundle:friendsofsymfony/rest-bundlejms/serializer-bundlesymfony/templating
MoneyBundle:friendsofsymfony/rest-bundlejms/serializer-bundlesymfony/templating
OrderBundle:sylius-labs/polyfill-symfony-framework-bundlesymfony/templating
PayumBundle:sylius/core
ProductBundlefriendsofsymfony/rest-bundlejms/serializer-bundle
PromotionBundlesylius/calendar
ShippingBundlesylius/calendar
ShopBundletwig/intl-extra
TaxationBundlesylius/calendar
UiBundlesonata-project/block-bundlesylius-labs/polyfill-symfony-event-dispatchersylius-labs/polyfill-symfony-framework-bundlesymfony/templating
UserBundlesylius-labs/polyfill-symfony-event-dispatchersylius-labs/polyfill-symfony-framework-bundle
Optional
-
Winzou 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-bundle
Constructors signature changes
-
The following constructor signatures have been changed:
Sylius\Bundle\CoreBundle\Twig\CheckoutStepsExtensionuse 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\PriceExtensionuse Sylius\Component\Core\Calculator\ProductVariantPricesCalculatorInterface; public function __construct( - private readonly PriceHelper|ProductVariantPricesCalculatorInterface $helper, + private readonly ProductVariantPricesCalculatorInterface $productVariantPricesCalculator, )Sylius\Bundle\CoreBundle\Twig\VariantResolverExtensionuse Sylius\Component\Product\Resolver\ProductVariantResolverInterface; public function __construct( - private readonly ProductVariantResolverInterface|VariantResolverHelper $helper, + private readonly ProductVariantResolverInterface $productVariantResolver, )Sylius\Bundle\CurrencyBundle\Twig\CurrencyExtensionpublic function __construct( - private ?CurrencyHelperInterface $helper = null, )Sylius\Bundle\InventoryBundle\Twig\InventoryExtensionuse Sylius\Component\Inventory\Checker\AvailabilityCheckerInterface; public function __construct( - private AvailabilityCheckerInterface|InventoryHelper $helper, + private AvailabilityCheckerInterface $availabilityChecker, )Sylius\Bundle\LocaleBundle\Twig\LocaleExtensionuse 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\ConvertMoneyExtensionuse Sylius\Component\Currency\Converter\CurrencyConverterInterface; public function __construct( - private ConvertMoneyHelperInterface|CurrencyConverterInterface $helper, + private CurrencyConverterInterface $currencyConverter, )Sylius\Bundle\MoneyBundle\Twig\FormatMoneyExtensionuse Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatterInterface; public function __construct( - private private FormatMoneyHelperInterface|MoneyFormatterInterface $helper, + private MoneyFormatterInterface $moneyFormatter, )Sylius\Bundle\OrderBundle\Twig\AggregateAdjustmentsExtensionuse Sylius\Component\Order\Aggregator\AdjustmentsAggregatorInterface; public function __construct( - private AdjustmentsAggregatorInterface|AdjustmentsHelper $adjustmentsHelper, + private AdjustmentsAggregatorInterface $adjustmentsAggregator, )Sylius\Bundle\AdminBundle\Controller\DashboardControllerpublic 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\AddressTypepublic function __construct( + private readonly AddressComparatorInterface $addressComparator, string $dataClass, array $validationGroups = [] - private readonly AddressComparatorInterface $addressComparator = null, )Sylius\Component\Core\OrderProcessing\OrderPaymentProcessorpublic function __construct( private OrderPaymentProviderInterface $orderPaymentProvider, - private string $targetState = PaymentInterface::STATE_CART, private OrderPaymentsRemoverInterface $orderPaymentsRemover, private array $unprocessableOrderStates, + private string $targetState = PaymentInterface::STATE_CART, ) -
Change across the codebase:
- private StateMachineInterface $stateMachineFactory, + private StateMachineInterface $stateMachine,
Configuration Changes
Messenger
- Removed
sylius_default.busandsylius_event.busconfigurations.
Usesylius.command_busandsylius.event_busfor commands and events, respectively.
Sylius State Machine Abstraction
- Changed
sylius_state_machine_abstraction.default_adapterfromwinzou_state_machinetosymfony_workflow.
Resource
- Removed configuration nodes for resource options
sylius_*.resources.**.options, such assylius_addressing.resources.address.options. - Removed
sylius_inventory.checkerconfiguration node.
Autoconfiguration
- Removed
sylius_core.autoconfigure_with_attributesandsylius_order.autoconfigure_with_attributes.
Use the following attributes instead of interfaces for autoconfiguration:Sylius\Bundle\OrderBundle\Attribute\AsCartContextSylius\Bundle\OrderBundle\Attribute\AsOrderProcessor
User Resetting Pin
- Removed
sylius_user.resources.{name}.user.resetting.pinconfiguration parameter.
Due to that the related logic has also been removed, this includes:reset_password_pinemailSylius\Bundle\UserBundle\Controller\UserController::requestPasswordResetPinActionmethodsylius.{user_type}_user.pin_generator.password_resetservicessylius.{user_type}_user.pin_uniqueness_checker.password_resetservices
Parameter Removals and Renaming
- Removed:
sylius.mongodb_odm.repository.classsylius.phpcr_odm.repository.classsylius.mailer.templates
- Renamed:
sylius.message.admin_user_create.validation_groupstosylius_admin.command_handler.create_admin_user.validation_groups
File Relocations
- The state machine configurations of
PaymentBundlehave 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`
Zone Validation Groups
-
Added a new parameter to specify validation groups for zones.
Configure custom validation groups for zone members inconfig/packages/_sylius.yaml.
Example:sylius_addressing: zone_member: validation_groups: country: - 'sylius' - 'sylius_zone_member_country' zone: - 'sylius' - 'sylius_zone_member_zone'
LiipImagineBundle Default Resolver and Loader
- Changed the default resolver and loader names for
LiipImagineBundlefrom default to sylius_image (reference).
To modify these defaults, configurecacheand/ordata_loaderparameters under theliip_imaginekey.
Grids
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]
Password Encoder & Salt
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.
Routes
- The following routes have been removed:
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_slug
Services, classes and interfaces changes
Container
In 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:
- Services required by Symfony to be
public(e.g., controllers, event listeners) remain public. - Services used in
ResourceControllermust bepublicas they are accessed directly from the container.
Classes and Interfaces
- Removed
Sylius\Bundle\ApiBundle\EventListener\PostgreSQLDriverExceptionListenerSylius\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\ContactEmailManagerSylius\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
- Renamed
| 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 |
- Moved
| 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 |
Services and Aliases
- Removed
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
- Renamed
| 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 |
- Replaced
| Old Name | New Name |
|---|---|
Sylius\Bundle\AdminBundle\EventListener\ResourceDeleteSubscriber |
Sylius\Bundle\AdminBundle\EventListener\ResourceDeleteListener |
- Definition location changed
- The
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionAction\PercentageDiscountActionConfigurationTypewas moved to theCoreBundlefromPromotionBundle. - The
Sylius\Bundle\PromotionBundle\Form\Type\CatalogPromotionScopeTypewas moved from theCoreBundleto thePromotionBundle.
Class changes
-
Added
Sylius\Component\Order\Context\ResettableCartContextInterface, which extendsSylius\Component\Order\Context\CartContextInterfaceandSymfony\Contracts\Service\ResetInterface. -
Replaced
sylius/calendarwithsymfony/clock. All instances ofSylius\Calendar\Provider\DateTimeProviderInterfaceare now replaced bySymfony\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
- The
\Serializableinterface has been removed fromSylius\Component\User\Model\UserInterface.
New and Updated Repository Classes
New Repositories
-
Addressing:
Sylius\Bundle\AddressingBundle\Doctrine\ORM\AddressRepositorySylius\Bundle\AddressingBundle\Doctrine\ORM\CountryRepositorySylius\Bundle\AddressingBundle\Doctrine\ORM\ProvinceRepositorySylius\Bundle\AddressingBundle\Doctrine\ORM\ZoneMemberRepository
-
Attribute:
Sylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeRepositorySylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeTranslationRepositorySylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeValueRepository
-
Product:
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\ProductVariantTranslationRepository
-
Currency:
Sylius\Bundle\CurrencyBundle\Doctrine\ORM\CurrencyRepository
Repository Inheritance Changes
-
Addressing:
Sylius\Bundle\CoreBundle\Doctrine\ORM\AddressRepositorynow extendsSylius\Bundle\AddressingBundle\Doctrine\ORM\AddressRepository.Sylius\Component\Core\Repository\AddressRepositoryInterfacenow implementsSylius\Component\Addressing\Repository\AddressRepositoryInterface.
-
Attribute:
Sylius\Bundle\CoreBundle\Doctrine\ORM\AttributeRepositorynow extendsSylius\Bundle\AttributeBundle\Doctrine\ORM\AttributeRepository.Sylius\Component\Product\Repository\ProductAttributeValueRepositoryInterfacenow implementsSylius\Component\Attribute\Repository\AttributeValueRepositoryInterface.
-
Product:
Sylius\Bundle\CoreBundle\Doctrine\ORM\ProductAssociationRepositorynow extendsSylius\Bundle\ProductBundle\Doctrine\ORM\ProductAssociationRepository.
User Model Updates
- Removed fields and corresponding methods for:
lockedexpiresAtcredentialsExpireAt
- These changes affect the ShopUser and AdminUser models, and any custom user type extending the
Sylius\Component\User\Model\Usermodel, as well as the relevant columns in the database tables.
Service Aliases
- Aliases introduced in Sylius 1.14 have now become the primary service IDs in Sylius 2.0. The old service IDs have been removed, and all references must be updated accordingly:
| 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.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.
- The following services had new aliases added in Sylius 1.14. In Sylius 2.0, these aliases have become the primary service IDs, and the old service IDs remain as aliases:
| 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 |
Architecture changes
-
The
NormalizerandDenormalizerinApiBundlehave been reorganized into subdirectories, moving fromSylius\Bundle\ApiBundle\SerializertoSylius\Bundle\ApiBundle\Serializer\NormalizerandSylius\Bundle\ApiBundle\Serializer\Denormalizer. -
The
SerializerContextBuilderclasses inApiBundlehave been moved to theSylius\Bundle\ApiBundle\Serializer\ContextBuildersubdirectory. -
The
Filter,QueryCollectionExtension, andQueryItemExtensionclasses inApiBundlehave been reorganized into separate sections (admin,shop,common) based on their usage context, and grouped by resources. -
AdminBundlenow contains base form types for every resource. Use these as an extension point for admin customizations instead the ones fromCoreBundleor other minor bundles. Similarly, use form types fromShopBundlefor the Shop context.
Payment method gateways
- Stripe and Paypal Express Checkout gateways have been removed.
The only remaining by default gateway in core is
offline. Use sylius plugins for the gateways of your choosing.
Theming
- Channel's
themeNameform field existence is made optional and depends onShopBundlepresence. - The
Sylius\Bundle\CoreBundle\Theme\ChannelBasedThemeContexthas been moved to theSylius\Bundle\ShopBundle\Theme\ChannelBasedThemeContext.
Frontend
- Unused, legacy node packages have been removed, while the required ones have been updated to newer versions.
To ensure a smooth transition, it is recommended to delete the
node_modulesdirectory and reinstall the packages. - The recommended Node.js versions are 20 or 22, as support for version 18 has been dropped.
use_webpackoption was removed from thesylius_uiconfiguration, and the Webpack has become the only module bundler provided by Sylius.use_webpacktwig global variable was removed. Webpack is always used now, and there is no need to check for it.- Image sizes have been simplified and standardized for both the Admin and Shop Bundle.
- Some Twig extension services have been moved from the UiBundle to the new Twig Extra package
KNP Menu
- Aliases for the
knp_menu.menu_buildertags 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 |
Transition from SemanticUI to Bootstrap
- All CSS classes of SemanticUI have been replaced with Bootstrap classes.
- JavaScript components relying on Semantic UI have been rewritten to utilize Bootstrap's JavaScript plugins.
- Customized CSS has been replaced by Bootstrap's utility classes.
Removal of jQuery
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.
Abandoning partial routes
All partial routes rendered in templates have been removed and replaced by rendering Twig components.
Sylius Twig Hooks
Twig Hooks are a robust and powerful alternative to the Sonata Block Events and the old Sylius Template Events systems.
Removal of Sonata Blocks
Sonata Blocks have been fully removed as they were not actively maintained/supported for a long time.
Evolving Sylius Template Events to Twig Hooks
Sylius Twig Hooks is a new generation of template customization and extension, providing:
- Built-in support for Twig templates, Twig Components, and Symfony Live Components.
- Adjustability and autoprefixing hooks.
- A configurable and easily manageable system for hookables.
- A priority mechanism to control rendering order.
- Simple enable/disable options for each hook.
- Key Improvements in Sylius Twig Hooks
Improved Structure
- Hooks
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
- Templates
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
- Detailed Comparison: Old vs. New configurations
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.
Testing Suite
- The
sylius.behat.api_securityhas been replaced bysylius.behat.api_admin_securityandsylius.behat.api_shop_securityservices. - We removed
Psalm, thePHPStanis now the only static analysis tool used in the project.