Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 19 additions & 2 deletions v2/recipes/multiprice.md
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,23 @@ use Drupal\commerce_price\Resolver\PriceResolverInterface;
*/
class CommerceMulticurrencyResolver implements PriceResolverInterface {

/**
* The language manager.
*
* @var \Drupal\Core\Language\LanguageManagerInterface
*/
protected $languageManager;

/**
* Constructs a new CommerceMulticurrencyResolver object.
*
* @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
* The language manager.
*/
public function __construct(LanguageManagerInterface $language_manager) {
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Working on https://www.drupal.org/node/2831954#comment-11906059
and using the implementation suggested here, the tests won't work with $language_manager construct argument.

Please check my PR for the issue drupalcommerce/commerce#626
And maybe we could get the right solution for how this CommerceMulticurrencyResolver should be done

$this->languageManager = $language_manager;
}

/**
* {@inheritdoc}
*/
Expand All @@ -95,10 +112,10 @@ class CommerceMulticurrencyResolver implements PriceResolverInterface {
$currency_by_language = ['en' => 'USD', 'fr' => 'EUR', 'ja' => 'JPY'];

// Get current language.
$language = \Drupal::languageManager()->getCurrentLanguage()->getId();
$language = $this->languageManager->getCurrentLanguage()->getId();

// Get default language.
$default_language = \Drupal::languageManager()->getDefaultLanguage()->getId();
$default_language = $this->languageManager->getDefaultLanguage()->getId();

// Set default price to null. Default price will be used to return currency
// of default language if no currency has been found for current language.
Expand Down