You are here

commerce_price_decimals_for_all.module in Commerce Price Decimals Formatter 7

Add support for other modules can use the format of Commerce Price Decimmals Formmater

File

modules/commerce_price_decimals_for_all.module
View source
<?php

/**
 * @file
 * Add support for other modules can use the format of
 * Commerce Price Decimmals Formmater
 */

/**
 * Implements hook_field_formatter_info_alter().
 */
function commerce_price_decimals_for_all_field_formatter_info_alter(&$info) {

  // Alter Commerce Price Savings Formatter module.
  if (isset($info['commerce_price_savings_formatter_formatter'])) {
    $info['commerce_price_savings_formatter_formatter']['settings']['currencies'] = commerce_price_decimals_formatter_get_default_currencies_settings();
  }
  if (isset($info['commerce_price_savings_formatter_inline'])) {
    $info['commerce_price_savings_formatter_inline']['settings']['currencies'] = commerce_price_decimals_formatter_get_default_currencies_settings();
  }
}

/**
 * Implements hook_field_formatter_settings_form_alter().
 */
function commerce_price_decimals_for_all_field_formatter_settings_form_alter(array &$settings_form, array $context) {
  $display = $context['instance']['display'][$context['view_mode']];
  $settings = $display['settings'];

  // Alter Commerce Price Savings Formatter module.
  if (strpos($display['type'], 'commerce_price_savings_formatter') === 0) {
    $settings_form = array_merge($settings_form, commerce_price_decimals_formatter_get_settings_form($settings));
  }
}

/**
 * Implements hook_field_formatter_settings_summary_alter().
 */
function commerce_price_decimals_for_all_field_formatter_settings_summary_alter(&$summary, array $context) {
  $display = $context['instance']['display'][$context['view_mode']];
  $settings = $display['settings'];

  // Alter Commerce Price Savings Formatter module.
  if (isset($display['module']) && $display['module'] == 'commerce_price_savings_formatter') {
    $summary .= '<br />' . implode('<br />', commerce_price_decimals_formatter_get_settings_summary($settings));
  }
}

/**
 * Implements hook_commerce_price_savings_formatter_prices_alter().
 */
function commerce_price_decimals_for_all_commerce_price_savings_formatter_prices_alter(&$formatted_prices, $context) {
  foreach ($formatted_prices as $price_type => $formatted_price) {

    // Alter the formatted price.
    $formatted_prices[$price_type]['formatted'] = commerce_price_decimals_formatter_currency_format($formatted_price['amount'], $formatted_price['currency_code'], $context['settings'], $context['entity']);
  }
}