Подскажите как изменить разделители сотен и тысяч. В рассылке осуществляемой модулем Commerce Email
Товар                                                                                Количество    Цена (UAH)
Барвник харчовий "Червоний" 5г                                         113.00          0.75
RANSAR "GP1" особливий зелений чай в банці 400г                20.00      108.00
                                                                                      В общем:    2,244.75
                                                                                           Всего:    2,244.75
В самом модуле Drupal Commerce есть возможность настраивать разделители тысяч и целых чисел, там все настроил в файле commerce.currency.inc
вот кусок кода:
<?php
      'UAH' => array(
      'code' => 'UAH',
      'symbol' => 'грн.',
      'name' => t('Ukrainian Hryvnia'),
      'numeric_code' => '980',
      'thousands_separator' => ' ',
      'decimal_separator' => ',',
      'symbol_placement' => 'after',
      'code_placement' => 'hidden',
      'minor_unit' => t('Kopiyka'),
      'major_unit' => t('Hryvnia'),
    ),
?>А в модуле Сommerce Email нет такой функции, да и количество выводится дробным числом.
Подскажите что изменить в приведенном ниже коде, чтобы нормально выводились поля: количество и стоимость.
Вот кусок этого кода из файла commerce_email.module:
<?php
function commerce_email_prepare_table($wrapper) {
  $currency_code = $wrapper->commerce_order_total->currency_code->value();
  $amount = number_format(commerce_currency_amount_to_decimal($wrapper->commerce_order_total->amount->value(), $currency_code), 2);
  $header = array(
    array('data' => t('Product'), 'style' => array('text-align: left;')),
    array('data' => t('Qty'), 'style' => array('text-align: left;')),
    array('data' => t('Price ([user=currency_code]currency_code[/user])', array('[user=currency_code]currency_code[/user]' => $currency_code)), 'style' => array('text-align: left;'))
  );
  $rows = array();
  foreach ($wrapper->commerce_line_items as $delta => $line_item_wrapper) {
    
    switch ($line_item_wrapper->type->value()) {
      case 'product':
        // Special treatment for a product, since we want to get the title from
        // from the product entity instead of the line item.
        $title = htmlentities($line_item_wrapper->commerce_product->title->value(), ENT_QUOTES, "UTF-8");
        $title .= commerce_email_order_item_attributes($line_item_wrapper->commerce_product->product_id->value());
        
        $rows[] = array(
          'data' => array(
            array('data' => $title, 'style' => array('text-align: left;')),
            array('data' => $line_item_wrapper->quantity->value(), 'style' => array('text-align: left;')),
            array('data' => number_format(commerce_currency_amount_to_decimal($line_item_wrapper->commerce_unit_price->amount->value(), $currency_code), 2), 'style' => array('text-align: left;')),
          )
        );
        break;
      default:
        // Use this for any other line item.
        $rows[] = array(
          'data' => array(
            array('data' => htmlentities($line_item_wrapper->line_item_label->value(), ENT_QUOTES, "UTF-8"), 'style' => array('text-align: left;')),
            array('data' => 1, 'style' => array('text-align: left;')),
            array('data' => number_format(commerce_currency_amount_to_decimal($line_item_wrapper->commerce_unit_price->amount->value(), $currency_code), 2), 'style' => array('text-align: left;')),
          )
        );
        break;
    }
  }
  
  $data = $wrapper->commerce_order_total->data->value();
  if (!empty($data['components'])) {
    
    foreach ($data['components'] as $key => &$component) {
      
      if ($data['components'][$key]['name'] == 'base_price') {
        $rows[] = array(
          'data' => array(
            ' ',
            array('data' => t('Subtotal:'), 'style' => array('font-weight: bold; text-align: right;')),
            array('data' => number_format(commerce_currency_amount_to_decimal($data['components'][$key]['price']['amount'], $currency_code), 2), 'style' => array('font-weight: bold; text-align: left;')),
          )
        );
      }
      elseif (preg_match('/^tax\|/', $data['components'][$key]['name'])) {
        $rows[] = array(
          'data' => array(
            ' ',
            array('data' => $data['components'][$key]['price']['data']['tax_rate']['display_title'] . ':', 'style' => array('font-weight: bold; text-align: right;')),
            array('data' => number_format(commerce_currency_amount_to_decimal($data['components'][$key]['price']['amount'], $currency_code), 2), 'style' => array('font-weight: bold; text-align: left;')),
          )
        ); 
      }
    }
  }
  $rows[] = array(
    'data' => array(
      ' ',
      array('data' => t('Total:'), 'style' => array('font-weight: bold; text-align: right;')),
      array('data' => $amount, 'style' => array('font-weight: bold; text-align: left;')),
    )
  );
  return array('header' => $header, 'rows' => $rows, 'attributes' => array('style' => array('width: 50%; border: 1px solid #ddd;')));
}
?>
Комментарии
Другого разработчика в наличии нет). Если не файл commerce_email.module отвечает за отображение числовых форматов в письмах отправленных с использованием Commerce Email? Тогда дайте подсказку где, это настраивать.
Это к тому что не файл commerce_email.module отвечает за отображение числовых форматов в письмах отправленых с использованием Commerce Email? ТОгда дайте подсказку где, это настраивать.
к сожалению ваш совет никуда меня не привел. На самом сайте все отображается нормально, Drupal Commerce тоже все настройки покрутил везде выставил разделители на копейки ',' на тысячи - пробел, количество-> целые числа. И везде при заказе в отчете о заказе на сайте все нормально, А Commerce Email лепит в почтовую рассылку цены типа 1,1242.00 а количество, например 15.00. Откуда это берется не могу понять. С Drupal работаю пару месяцев, магазин вообще первый, остальное в принципе готово вот с рассылкой проблемы. Подскажите может у кого идеи есть что там нужно настраивать, чтобы в рассылке все отражалось как настроено в магазине.
.
Спасибо.