[gelöst] Computed Fields: Berechnungen aus zwei verschiedenen Nodes (Entity Reference + Field Collection)
am 07.03.2014 - 19:05 Uhr in
Hallo ihr Lieben,
ich komme mal wieder nicht weiter und habe keine Vorstellung wo das Problem liegt.
Ich habe einen Inhaltstypen Produkte in dem auch der Preis für ein Produkt steht.
Dann habe ich eine field collection in einem anderen Inhaltstypen in dem ich im field_produkt per Entity Reference auf ein Produkt referenziere.
In der gleichen field collection gibt es ein computed field Summe in dem ich den Preis benötige.
Ich habe es versucht mit:
$entity_field[0]['value'] = db_result(db_query("SELECT field_produkte_preis FROM content_type_produkte WHERE nid=%d",$node->field_produkt[0][nid]));
und mit
$nid = array_pop(array_pop(field_get_items($entity_type, $entity, 'field_produkt[0][nid]')));
$myNode = node_load($nid);
$entity_field[0]['value'] = $myNode->field_produkte_preis[0]['value'];
versucht. Ergebnis ist beide Male eine weiße Seite und kein PHP Fehler im Log. Auch direkt auf field_produkt_[0][value] in dem ja auch nur die nid steht
verweisen nützt nichts.
Kann mir jemand weiterhelfen?
Liebe Grüße Sandra
- Anmelden oder Registrieren um Kommentare zu schreiben
Also in der Regel ist der
am 08.03.2014 - 10:27 Uhr
Also in der Regel ist der Array-Aufbau eines Feldes so $node->field_NAME[LANGUAGE][DELTA].
Und via field_get_items(), würde ich es mal so versuchen:
$items = field_get_items($entity_type, $entity, 'field_produkt');
debug($items);
Und damit du zukünftig PHP-Fehler siehst, aktiviere in deiner php.ini display_errors. Auch wenn es nicht wirklich hilfreich ist, wenn du php-code außerhalb einer Datei ausführst. ;-)
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
Nur damit ich das richtig verstehe...
am 09.03.2014 - 22:51 Uhr
...kannst du ein Beispiel nennen für $node->field_NAME[LANGUAGE][DELTA]? Den Code habe ich aus der entsprechenden Dokumentation übernommen.
Via field_get_items() funktioniert so auch nicht.
Ich bin alles noch einmal durchgegangen:
$nid = array_pop(array_pop(field_get_items($entity_type, $entity, 'field_produkt'))); //nid wird geladen
$myNode = node_load($nid); //Node wird auch geladen, auf $myNode->nid $myNode->title usw. kann ich zugreifen.
$entity_field[0]['value'] = $myNode->field_produkt_preis[0]['value']; //der Fehler liegt also tatsächlich in der Ansprache des Felds Preis
Ich konnte es lösen...
am 09.03.2014 - 23:03 Uhr
Richtig ist: field_produkt_preis['und'][0]['value']. Hilfreich war in diesem Fall der Hinweis auf die Sprache und dieser Artikel: http://comm-press.de/de/blog/fields-rendern-helferlein-der-drupal-7-fiel...