[gelöst] Dezimalstellen bei Umkreissuche
am 08.11.2010 - 08:25 Uhr in
Hey,
ich bin am verzweifeln.
Habe das "location" Modul installiert, und es funktioniert auch wunderbar.
Allerdings zeigt er mir die Entfernung immer mit 2 Nachkommastellen an.
An dieser Stelle wird die Entfernung ausgegeben (Datei: modules/location/handlers/location_handler_field_location_distance.inc):
<?php
$dist = (float)$values->{$this->field_alias};
if ($this->options['units'] == 'km') {
$dist = $dist / 1000.0;
return theme('location_distance', $dist, 'km');
}
?>Jetzt habe ich bereits alles probiert die Variable $dist von den Nachkommastellen zu befreien:
round(), floor(), ceil(), (int), intval(), number_format(), etc...
Aber nichts hat funktioniert.
Nicht einmal das
<?php
$dist_temp = explode(".", $dist);
$dist = $dist_temp[0];
?>funktioniert.
Er rundet zwar immer korrekt auf oder ab, aber es werden immer die Nachkommastellen (.00) mit ausgegeben.
Bin für jeden schlauen Rat dankbar ;-)
Grüße,
Martin
- Anmelden oder Registrieren um Kommentare zu schreiben

return
am 08.11.2010 - 10:24 Uhr
return theme('location_distance', $dist, 'km');Das deutet auf eine überschreibbare Theming-Funktion hin. Ein Blick ins Location-Modul zeigt einen passenden Template File "location_distance.tpl.php".
In diesem File gibt es nur eine einzige Zeile Code
<?phpecho number_format($distance, 2) .' '. $shortunit;
?>
in der die 2 Nachkommastellen festgeschrieben werden. Also solltest Du diesen File in Dein Theme kopieren und dort ändern auf
<?phpecho number_format($distance, 0) .' '. $shortunit;
?>
Danach sollte keine Nachkommastelle mehr da sein.
Beste Grüße
Werner
achje....ok... sollte mich
am 08.11.2010 - 10:50 Uhr
achje....ok...
sollte mich erst mal mit der Grundfunktionsweise von Drupal besser vertraut machen...
Das war natürlich die Lösung,
besten Dank!!