Important

You are browsing documentation for version 5.0 of OroCommerce, supported until January 2025. Read the documentation for version 6.0 (the latest LTS version) to get up-to-date information.

See our Release Process documentation for more information on the currently supported and upcoming releases.

Managing Localizations 

Caching Notice 

Localization objects are cached to provide better performance. You must disable cache usage if you need to persist, delete or assign the returned Localization (see $useCache parameter below).

LocalizationManager 

LocalizationManager provides all the necessary methods for accessing localizations. You can easily access it from the controller:

$this->get('oro_locale.manager.localization');

Oro\Bundle\LocaleBundle\Manager::getLocalization($id\[, $useCache = true\])

Gets a single Localization object.

An example of usage:

// Will get single Localization object
$localizationManager = $this->get('oro_locale.manager.localization');
$localization = $localizationManager->getLocalization(1);

Oro\Bundle\LocaleBundle\Manager::getLocalizations(array $ids\[, $useCache = true\])

Gets one or selected Localization objects.

An example of usage:

$localizationManager = $this->get('oro_locale.manager.localization');

// Will get all Localizations from database
$localizations = $localizationManager->getLocalizations();

// Will get Localizations with ids 1, 3, 5, 7.
// If there is no Localization with provided id, this id will be skipped.
$localizations = $localizationManager->getLocalizations([1, 3, 5, 7]);

Oro\Bundle\LocaleBundle\Manager::getDefaultLocalization(\[$useCache = true\])

Gets the default Localization. The default Localization is obtained from the system configuration (see OroConfigBundle for more information).

An example of usage:

$localizationManager = $this->get('oro_locale.manager.localization');
$defaultLocalization = $localizationManager->getDefaultLocalization();

Oro\Bundle\LocaleBundle\Manager::clearCache

Removes Localization objects from cache. The next time a user calls getLocalization, getLocalizations, getDefaultLocalization or warmUpCache, cache will be recreated.

An example of usage:

$localizationManager = $this->get('oro_locale.manager.localization');
$defaultLocalization = $localizationManager->clearCache();

Note

Keep in mind that cache is also cleared when you run

php bin/console cache:clear

Oro\Bundle\LocaleBundle\Manager::warmUpCache

Gets all Localization objects from the database and stores them into cache.

An example of usage:

$localizationManager = $this->get('oro_locale.manager.localization');
$defaultLocalization = $localizationManager->warmUpCache();

Note

Keep in mind that cache is also warmed up when you run

php bin/console cache:clear