Por defecto, cuando añadimos productos a nuestra tienda con Drupal Commerce veremos que los precios de los productos llevan dos decimales, así, si por ejemplo vendes una piruleta por 3 euros, el precio que verás en la ficha del producto será al final: 3,00 €.
En mi caso no me gustaba, ya que quiero poner el precio de los productos dentro de una estrellita verde y claro, necesito que sea lo más corto posible para, mediante CSS hacerlo lo más grande posible y que se ajuste bien en el centro de dicho icono, con lo cual necesito quitar los decimales en los productos.
Seguramente se puede hacer de otras formas, pero os cuento cómo lo he hecho yo para mi proyecto con Drupal Commerce.
Modificamos el fichero commerce.currecy.inc que se encuentra en la ruta profiles/commerce_kickstart/modules/commerce/includes/ y especificamos los decimales que queremos. Y si no aparece esta variable, la añadimos a la matriz.
En mi caso, usaré dólares, libras esterlinas y euros. Y como he visto que no estaba, he añadido el 'decimals' => 0, y ha funcionado. Al final , la configuración del euro se queda así:
'EUR' => array(
'code' => 'EUR',
'symbol' => 'â~B¬',
'name' => t('Euro'),
'thousands_separator' => ' ',
'decimal_separator' => ',',
'symbol_placement' => 'after',
'code_placement' => '',
'decimals' => 0,
'numeric_code' => '978',
'minor_unit' => t('Cent'),
'major_unit' => t('Euro'),
),
Y, para finalizar, he hecho la misma parametrización en los dólares y en las libras esterlinas.
CONFIGURACIÓN DEL DOLAR Y DE LAS LIBRAS ESTERLINAS
Como mi proyecto también usará dólares y libras esterlinas, deberé también configurar estas monedas, a las que sólo añadiré un decimal.
El dólar quedará así:
'USD' => array(
'code' => 'USD',
'symbol' => '$',
'name' => t('United States Dollar'),
'numeric_code' => '840',
'symbol_placement' => 'before',
'decimals' => 1,
'code_placement' => '',
'minor_unit' => t('Cent'),
'major_unit' => t('Dollar'),
),
Y las libras esterlinas así:
'GBP' => array(
'code' => 'GBP',
'symbol' => '£',
'name' => t('British Pound Sterling'),
'numeric_code' => '826',
'decimals' => 1,
'symbol_placement' => 'before',
'code_placement' => '',
'minor_unit' => t('Penny'),
'major_unit' => t('Pound'),
),
INFORMACIÓN ADICIONAL
Por cierto, parece que hay un módulo que permite también configurar esto, pero llegué tarde cuando lo descubrí y ya lo había hecho a mi manera. El módulo lo tenéis aquí http://drupal.org/project/commerce_currency_settings
Y también hay un comentario que vi, que explica que es posible hacer esto sin tocar a pelo (como yo hice) el fichero, creando un hook_commerce_currency_info_alter()
Tenéis el comentario aquí:
http://www.drupalcommerce.org/comment/4301#comment-4301
Espero que os sirva este articulito.