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

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'.

Связаться с автором Поддержать автора (что?)

Комментарии

Если у вас есть вопрос, критика или другое мнение - напишите в комментариях.