Форматирование вывода стандартного ckk number

Аватар пользователя divined divined 3 сентября 2012 в 14:07

Нужно обрезать десятичные окончания во всех десятичных полях, если окончания равны 0.

198.00 -> 198
198.10 -> 198.10

Нашел где это сделать в ядре:

<?php
function number_field_formatter_view($entity_type$entity$field$instance$langcode$items$display) {
  
$element = array();
  
$settings $display['settings'];

  switch (

$display['type']) {
    case 
'number_integer':
    case 
'number_decimal':
      foreach (
$items as $delta => $item) {
        switch (
$item['value']-intval($item['value'])) {
            case 
0:
            
$output number_format($item['value'], 0$settings['decimal_separator'], $settings['thousand_separator']);
            break;
            default:
            
$output number_format($item['value'], $settings['scale'], $settings['decimal_separator'], $settings['thousand_separator']);
            break;
        }
...
?>

Кто знает правильный вариант?

Комментарии

Аватар пользователя divined divined 3 сентября 2012 в 14:31

Решение:

в темплейте:

<?php
($node->field_area['und'][0]['value']-intval($node->field_area['und'][0]['value']) == 0)? $scale $scale 2;
print 
render(field_view_field('node'$node'field_area',  array('label'=>'hidden''settings'=>array('scale' => "$scale")))); 
?>