When setting the mappings for a Commerce Product processor, if the Price:Currency mapping appears in the list before Price:Amount, the currency in the feed is replaced with the default currency. This is because Price:Currency is first in the evaluation order.

I suggest changing line 68 of commerce_price.inc

      $field[LANGUAGE_NONE][$i]['currency_code'] = $currency;

to

      if ( !isset( $field[LANGUAGE_NONE][$i]['currency_code'] ) ) {
        $field[LANGUAGE_NONE][$i]['currency_code'] = $currency;
      }

Comments

pcambra’s picture

Status: Active » Fixed

Nice catch!
I've changed a little the code so it only runs if the subfield is amount and made the entity type not hardcoded

Status: Fixed » Closed (fixed)

Automatically closed -- issue fixed for 2 weeks with no activity.