Upgrade the Locale module
Edit on GitHubThis document describes how to upgrade the Locale module.
Prerequisites
Upgrading from version 3.* to version 4.0.0
Dynamic Multistore is currently running under an Early Access Release. Early Access Releases are subject to specific legal terms, they are unsupported and do not provide production-ready SLAs. They can also be deprecated without a General Availability Release. Nevertheless, we welcome feedback from early adopters on these cutting-edge, exploratory features.
In this version of the Locale
module, we have enabled the configuration of locales per store in the database. The Locale
module version 4 introduces the spy_locale_store
database table to persist stores-locales in Zed. We’ve also added the fk_locale
column to the spy_store
table for saving default locales per store. For more details about the changes, see the Locale module release page.
Estimated migration time: 5 min
To upgrade to the new version of the module, do the following:
- Upgrade the
Locale
module to the new version:
composer require spryker/locale:"^4.0.0" --update-with-dependencies
- Update transfer objects:
vendor/bin/console transfer:generate
- Apply database changes:
vendor/bin/console propel:install
- Add new plugins to dependency providers:
Zed integration
<?php
namespace Pyz\Zed\Application;
use Spryker\Zed\Application\ApplicationDependencyProvider as SprykerApplicationDependencyProvider;
use Spryker\Zed\Locale\Communication\Plugin\Application\LocaleApplicationPlugin;
class ApplicationDependencyProvider extends SprykerApplicationDependencyProvider
{
...
/**
* @return \Spryker\Shared\ApplicationExtension\Dependency\Plugin\ApplicationPluginInterface[]
*/
protected function getApplicationPlugins(): array
{
return [
...
new LocaleApplicationPlugin(),
...
];
}
...
}
Yves integration
<?php
namespace Pyz\Yves\ShopApplication;
use Spryker\Yves\ShopApplication\ShopApplicationDependencyProvider as SprykerShopApplicationDependencyProvider;
use Spryker\Yves\Locale\Plugin\Application\LocaleApplicationPlugin;
class ShopApplicationDependencyProvider extends SprykerShopApplicationDependencyProvider
{
...
/**
* @return \Spryker\Shared\ApplicationExtension\Dependency\Plugin\ApplicationPluginInterface[]
*/
protected function getApplicationPlugins(): array
{
return [
...
new LocaleApplicationPlugin(),
...
];
}
...
}
- Enable additional plugins:
EventDispatcher Zed integration
<?php
namespace Pyz\Zed\EventDispatcher;
use Spryker\Zed\EventDispatcher\EventDispatcherDependencyProvider as SprykerEventDispatcherDependencyProvider;
use Spryker\Zed\Locale\Communication\Plugin\EventDispatcher\LocaleEventDispatcherPlugin;
class EventDispatcherDependencyProvider extends SprykerEventDispatcherDependencyProvider
{
/**
* @return \Spryker\Shared\EventDispatcherExtension\Dependency\Plugin\EventDispatcherPluginInterface[]
*/
protected function getEventDispatcherPlugins(): array
{
return [
...
new LocaleEventDispatcherPlugin(),
...
];
}
}
EventDispatcher Yves integration
<?php
namespace Pyz\Yves\EventDispatcher;
use Spryker\Yves\EventDispatcher\EventDispatcherDependencyProvider as SprykerEventDispatcherDependencyProvider;
use Spryker\Yves\Locale\Plugin\EventDispatcher\LocaleEventDispatcherPlugin;
class EventDispatcherDependencyProvider extends SprykerEventDispatcherDependencyProvider
{
/**
* @return \Spryker\Shared\EventDispatcherExtension\Dependency\Plugin\EventDispatcherPluginInterface[]
*/
protected function getEventDispatcherPlugins(): array
{
return [
...
new LocaleEventDispatcherPlugin(),
...
];
}
}
Thank you!
For submitting the form