You are here

function commerce_price_decimals_formatter_get_settings_form in Commerce Price Decimals Formatter 7

Returns an array of all available settings.

Parameters

array $settings: Array with display settings.

Return value

array An array of currency arrays keyed with the settings.

4 calls to commerce_price_decimals_formatter_get_settings_form()
commerce_price_decimals_formatter_field_formatter_settings_form in ./commerce_price_decimals_formatter.module
Implements hook_field_formatter_settings_form().
commerce_price_decimals_formatter_handler_area_line_item_summary_decimals::options_form in includes/views/handlers/commerce_price_decimals_formatter_handler_area_line_item_summary_decimals.inc
Default options form that provides the label widget that all fields should have.
commerce_price_decimals_formatter_handler_area_order_total_decimals::options_form in includes/views/handlers/commerce_price_decimals_formatter_handler_area_order_total_decimals.inc
Default options form that provides the label widget that all fields should have.
commerce_price_decimals_for_all_field_formatter_settings_form_alter in modules/commerce_price_decimals_for_all.module
Implements hook_field_formatter_settings_form_alter().

File

./commerce_price_decimals_formatter.module, line 203
Provides a display formatter for the price field in which you can specify the decimal places are displayed.

Code

function commerce_price_decimals_formatter_get_settings_form($settings) {

  // Load defaults settings and append it.
  $defaults = commerce_price_decimals_formatter_get_default_currencies_settings();
  $settings['currencies'] += $defaults;
  $form = array();
  $form['currencies'] = array(
    '#type' => 'container',
    '#tree' => TRUE,
  );
  foreach ($settings['currencies'] as $code => $currency) {
    if (array_key_exists($code, $defaults)) {
      $form['currencies'][$code] = array(
        '#type' => 'fieldset',
        '#title' => t('Settings for @code', array(
          '@code' => $code,
        )),
        '#collapsible' => FALSE,
      );
      $form['currencies'][$code]['decimals'] = array(
        '#type' => 'textfield',
        '#title' => t('Number of decimals to show'),
        '#default_value' => $settings['currencies'][$code]['decimals'],
        '#required' => TRUE,
        '#element_validate' => array(
          'element_validate_integer',
        ),
        '#size' => 3,
      );
      $form['currencies'][$code]['force'] = array(
        '#type' => 'checkbox',
        '#title' => t('Force price decimals'),
        '#default_value' => $settings['currencies'][$code]['force'],
      );
      $form['currencies'][$code]['zero'] = array(
        '#type' => 'checkbox',
        '#title' => t('Sets zero decimal places when possible'),
        '#default_value' => $settings['currencies'][$code]['zero'],
      );
    }
  }
  return $form;
}