Нужно обрезать десятичные окончания во всех десятичных полях, если окончания равны 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;
}
...
?>
Кто знает правильный вариант?
Комментарии
Решение:
в темплейте:
<?php
($node->field_area['und'][0]['value']-intval($node->field_area['und'][0]['value']) == 0)? $scale = 0 : $scale = 2;
print render(field_view_field('node', $node, 'field_area', array('label'=>'hidden', 'settings'=>array('scale' => "$scale"))));
?>