Berechnungen im Node mit Computed Field
![](http://www.drupalcenter.de/files/noavatar_mini.gif)
am 23.05.2012 - 08:36 Uhr in
Hallo Leute,
ich erbitte einmal Unterstützung bei der Nutzung vom Modul Computed Fields.
Die Doku vom Autor des Moduls hab ich natürlich gelesen, aber es fällt doch schwer das ganze auf meine Sachlage umzusetzen.
Folgende Situation:
Ich habe einen eigenen Inhaltstypen "Anzeige" in dem alle relevanten Informationen für Wohnungsinserate gespeichert sind.
Nun möchte ich bei der monatlichen Nutzungsgebühr die Kosten pro Quadratmeter auch noch ausgeben, was ja nichts weiter als eine simple Division darstellt.
Meine Variablen für die Felder
field_wohnfl_che (drupal wandelt ja umlaute in unterstriche _ um)
field_kaltmiete_in_euro
jeweils als Dezimalzahl Textfeld.
Laut Doku (so wie ich es verstanden habe) läuft die Ausgabe der Berechnung nach dem Schema
$entity_field[0]['value'] = $entity->field_kaltmiete_in_euro[0]['value'] / $entity->field_wohnfl_che[0]['value'];
der Ausgabecode wäre dann
$display_output = $entity_field_item['value'];
Allerdings werde ich mit Fehlern zugebombt
Notice: Undefined offset: 0 in eval() (Zeile 1 von D:\xampp\htdocs\sites\all\modules\computed_field\computed_field.module(466) : eval()'d code).
Notice: Undefined offset: 0 in eval() (Zeile 1 von D:\xampp\htdocs\sites\all\modules\computed_field\computed_field.module(466) : eval()'d code).
Warning: Division by zero in eval() (Zeile 1 von D:\xampp\htdocs\sites\all\modules\computed_field\computed_field.module(466) : eval()'d code).
Notice: Undefined offset: 0 in eval() (Zeile 1 von D:\xampp\htdocs\sites\all\modules\computed_field\computed_field.module(466) : eval()'d code).
Notice: Undefined offset: 0 in eval() (Zeile 1 von D:\xampp\htdocs\sites\all\modules\computed_field\computed_field.module(466) : eval()'d code).
Warning: Division by zero in eval() (Zeile 1 von D:\xampp\htdocs\sites\all\modules\computed_field\computed_field.module(466) : eval()'d code).
Da scheint also irgendwie ein Syntaxfehler oder sowas drin zu stecken, aber ich finde den Fehler nicht.
Wäre wirklich sehr dankbar, wenn jemand den Fehler finden würde.
Ich danke schon mal im Voraus.
- Anmelden oder Registrieren um Kommentare zu schreiben
Lasse Dir die genaue Struktur
am 23.05.2012 - 09:47 Uhr
Lasse Dir die genaue Struktur vom Entity_field doch einmal ausgeben (z.B mit der Devel-modul und der Funktion dsm oder über print_r). Die Struktur ist falsch. Als erster Index kommt die Sprache, d.h. bei keiner gesetzten Sprache ['und'] und das fehlt bei Dir.
Beste Grüße
Werner
Computed Field
am 23.05.2012 - 10:20 Uhr
Hallo Werner,
Könntest Du Deinen Hinweis bitte an einem Codebeispiel erläutern. Also wie müsste die Formel zur Berechnung der Quadratmeterkosten dann genau aussehen?
Danke
Renardo
Hallo Werner, Sorry für die
am 23.05.2012 - 10:48 Uhr
Hallo Werner,
Sorry für die dumme Frage, aber wie soll ich mir denn die Struktur von $entity_fields anzeigen lassen?
was muss ich denn da konkret an dsm(); in Klammern übergeben?
dsm($entity_field[0]); ist irgendwie falsch.
Dabei verstehe ich den Zusammenhang sowieso noch nicht so ganz.
der Teil
"$entity_field[0]" impliziert ja irgendwie, als handle es sich um das erste Feldelement im Inhaltstypen...
was er aber nicht ist. Der erste müsste ja der Titel sein (ausgehend von meiner Felder Ansicht)
Nun der erste index ist eben
am 23.05.2012 - 13:28 Uhr
Nun der erste index ist eben nicht die [0] sondern der Language-Code und also solltest Du auch keinen Index setzen, wenn Du die Struktur sehen willst (also dsm($entity_field)). Die Struktur ist vermutlich $entity_field['und']..... und wie das weiter geht mußt Du nachsehen.
Beste Grüße
Werner
ich komme einfach nich
am 24.05.2012 - 09:54 Uhr
ich komme einfach nich weiter. Devel zeigt mir nur auf der Seite unterhalb die Zugriffsrechte an...
wo genau kann ich die Struktur denn einsehen, das muss doch irgendwo gehen...
Berechnungen im Node mit Computed Field
am 24.05.2012 - 11:44 Uhr
Hallo,
Mein Vorschlag:
$entity_field[0]['value'] = $entity->field_kaltmiete_in_euro['und'][0]['value'] / $entity->field_wohnfl_che['und'][0]['value'];
Renardo
Hallo Renardo danke für
am 24.05.2012 - 12:05 Uhr
Hallo Renardo
danke für diesen Lösungsvorschlag, es funktioniert tatsächlich.