[gelöst] References - was mache ich falsch?
Eingetragen von ronald (3845)
am 15.07.2014 - 21:11 Uhr in
am 15.07.2014 - 21:11 Uhr in
Ich brauche weitere Augen - ich sehe keine Fehler.
Ich habe einen Node, der sich auch speichern und bearbeit lässt, den enthält ein Feld fields_position, das ein referenzfeld ist.
Dem weise ich folgendes zu:
$pp=add_order_pos("pos");
$node->field_position[$node->language][]['value'] = array( $pp, 'target_type' => 'node');
Das ist die Funktion add_order_pos:
function add_order_pos($order){
$o_node=new stdClass();
$o_node->title = "Buchtitel";
$o_node->type = "product";
node_object_prepare($o_node); // Sets some defaults. Invokes hook_prepare() and hook_node_prepare().
$o_node->language = "de";
$o_node->uid = 0;
$o_node->status = 1; //(1 or 0): published or not
$o_node->promote = 0; //(1 or 0): promoted to front page
$o_node->comment = 0; // 0 = comments disabled, 1 = read only, 2 = read/write
$o_node->body['und'][0]['value'] = "Beschreibung des Buches";
$o_node = node_submit($o_node);
node_save($o_node);
return $o_node->nid;
}
Es gibt keinen Fehler, aber die Position wird zwar erfasst, aber nicht verlinkt.
Die NID des Positionsnodes wird richtig übertragen und der Node auch angelegt.
Nur der Eintrag in das entity_reference_field klappt nicht.
- Anmelden oder Registrieren um Kommentare zu schreiben
Was steht denn in dem Feld,
am 15.07.2014 - 22:05 Uhr
Was steht denn in dem Feld, wenn Du einen solchen Node "zu Fuß" anlegst? Hast Du Dir die Struktur mit devel einmal angesehen?
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
ich habe es selbst gefunden
am 15.07.2014 - 22:23 Uhr
Manchmal darf man nicht glauben, was man im Netz findet.
Es ist viel einfacher:
$node->field_position['und'][]['target_id'] = add_order_pos("pos");
Der Sprachcode darf NICHT drin sein, es muss UND heißen.
Den Targettyp muss man nur angeben, wenn es NICHT node ist.
Jetzt funktionierts mit den Demodaten.
Grüße
Ronald