Computed Field Datum mal Wert ausrechnen lassen.
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 27.03.2015 - 12:02 Uhr in
Hi Community,
ich wende mich mal wieder mit einem ganz speziellen Anliegen an euch (oh nein nicht schon wieder :D).
Und zwar möchte ich Computed Field gerne eine Anzahl vergangener Tage*Dezimalwert ausrechnen lassen.
Folgenden Code hab dafür ich geschrieben:
<?php
//Dezimalwert soll aus dem Node geholt werden.
$perc = $entity->field_dezimalwert['value'];
//Datum soll aus dem Node geholt werden
$unix= $entity->field_Datum['value'];
//Datum soll hier zu UNIX umgerechnet werden es Kommt als ISO an
$unix=date("U",strtotime('$unix'));
//Aktuelles Datum wird als UNIX TS geholt
$stamp=time();
//Hier wird die Differenz in sek zwischen Akt.Zeit und Angegeben Datum gerechnet
$diff=$stamp-$unix;
//Und hier wird in Tage umgerechnet
$diff=$diff/86400;
//Letzendlich kommt die eigentliche Rechnung Dezimalwert*vergangene Tage
$entity_field[0]['value'] = $perc * $diff;?>
Das größte problem ist das Datumformat.
Das müsste so wie der Code geschrieben ist als ISO ankommen soll aber als Unix gerechnet werden, deshalb hab ich versucht das zu Unix umzurechnen geht aber irgendwie nicht...
Die rechnung könnte funktionieren,wenn ich es schaffe das Computed Field sich das Datum als Unix Timestamp holt.
Über den token[node:field_datum:raw] wird das Datum eigentlich als Unix TS ausgegeben, aber wenn ich versuche den Token in den code zu bringen bekomme ich nur fehlermeldungen...
Mein Hauptproblem ist also das ich nicht weiß wie ich einen Token Korrekt ins PHP Feld von Computed Field reinbekomme ohne gleich 1000 Fehlermeldungen zu bekommen.
Ich Danke euch schonmal im vorraus und entschuldige mich dafür, dass ich euch Immer mit so speziellen Geschichten nerven muss :D
- Anmelden oder Registrieren um Kommentare zu schreiben
Das sieht alles ein bißchen
am 27.03.2015 - 14:25 Uhr
Das sieht alles ein bißchen merkwürdig aus, was du da aufgeschrieben hast.
Wenn ich in einem computed-Field einen Unix Timestamp auslesen will, dann geht das bei mir so:
<?php
$unix=strtotime($entity->field_event_termin['und']['0']['value']);
?>
Wenn das Feld: field_event_termin heißt.
Gruß
Berthold