nbsp (non-breakable) в цену Drupal Commerce

    Опубликовано Andres - чт, 06/01/2017 - 11:59

    1. Убрать функцию t()
    Согласно советам со страницы: https://www.drupal.org/node/1313154
    В файле

    --- a/commerce.module
    +++ b/commerce.module

    Заменить строку
         '@code_spacer' => $currency['code_spacer'],
       );
     
    -  return trim(t('@code_before@code_spacer@negative@symbol_before@price@symbol_spacer@symbol_after@code_spacer@code_after', $replacements));
    +  return trim(strtr('@code_before@code_spacer@negative@symbol_before@price@symbol_spacer@symbol_after@code_spacer@code_after', $replacements));
     }
     
     /**
     
     Это пропустит nbsp в цены.
     
    2. Далее для перед знаком валюты  'р.'
     В файле

    --- a/commerce.module
    +++ b/commerce.module

            'thousands_separator' => ',',
            'decimal_separator' => '.',
            'symbol_placement' => 'hidden',
    -        'symbol_spacer' => ' ',
    +        'symbol_spacer' => ' ',
            'code_placement' => 'after',
            'code_spacer' => ' ',
            
    3. После этого установить в валюте (на примере RUB)
     
      В файле
      
    --- a/commerce.module/includes/commerce.currency.inc
    +++ b/commerce.module/includes/commerce.currency.inc

    Настройки для валюты выглядят так:

        'RUB' => array(
          'code' => 'RUB',
          'symbol' => 'р',
          'name' => t('Russian Ruble'),
          'thousands_separator' => " ",
          'decimal_separator' => ',',
          'numeric_code' => '643',
          'symbol_placement' => 'after',
          'code_placement' => 'hidden',
          'minor_unit' => t('Kopek'),
          'major_unit' => t('Ruble'),
        ),

     

    Внимание: Если ваш магазин интергирован к системе онлайн-кредитование ("КупиВкредит" от Тиньква например), проверьте что бы всё было в порядке там.

    Если раньше в функции str_replace вы писали ' ' (пробел), теперь следует писать '&nbsp'.

    Теги