' . t('About') . ''; $output .= '

' . t('Commerce 2 currency support') . '

'; return $output; default: } } /** * Implements hook_commerce_promotion_offer_info_alter(). */ function commerce_currency_resolver_commerce_promotion_offer_info_alter(array &$definitions) { $definitions['order_item_fixed_amount_off']['class'] = OrderItemFixedAmountOff::class; $definitions['order_fixed_amount_off']['class'] = OrderFixedAmountOff::class; } /** * Implements hook_commerce_fee_info_alter(). */ function commerce_currency_resolver_commerce_fee_info_alter(array &$definitions) { $definitions['order_item_fixed_amount']['class'] = OrderItemFixedAmount::class; $definitions['order_fixed_amount']['class'] = OrderFixedAmount::class; } /** * Implements hook_commerce_condition_info_alter(). */ function commerce_currency_resolver_commerce_condition_info_alter(array &$definitions) { $definitions['order_total_price']['class'] = OrderTotalPrice::class; } /** * Implements hook_entity_build_defaults_alter(). */ function commerce_currency_resolver_entity_view_alter(array &$build, EntityInterface $entity, $view_mode) { // Check enabled source. We use cache context only for cookie based // currency switch. $source = \Drupal::config('commerce_currency_resolver.settings')->get('currency_mapping'); // Add our cache context. if ($source === 'cookie' && (isset($build['#commerce_product']) || isset($build['#commerce_product_variation']))) { $build['#cache']['contexts'][] = 'currency_resolver'; } }