[gelöst ]Node Reference im Code befüllen
am 07.08.2012 - 12:09 Uhr in
Hi
ich würde gerne eine Node reference Feld im code befüllen.
Bei mir werden mehrere nodes im Code erzeugt die auf bestimmte weise miteinander verknüpft sind.
Unten seht ihr einen auszug wie das Feld field_bilder_zum_highlight befüllt ist. In dem fall habe ich es manuel in der Pflege maske gemacht.
[field_bilder_zum_highlight] => Array
(
[und] => Array
(
[0] => Array
(
[nid] => 38
[access] => 1
[node] => stdClass Object
(
[vid] => 38
[uid] => 1
[title] => Bilder zu Suche nach Mister X
[log] =>
[status] => 1
[comment] => 1
[promote] => 1
[sticky] => 0
[nid] => 38
[type] => bilder_detailseite
[language] => de
[created] => 1341843096
[changed] => 1344241339
[tnid] => 0
[translate] => 0
[revision_timestamp] => 1344241339
[revision_uid] => 1Leider weiß ich nicht wie ich es im Code machen muss.
probiert habe ich
$sitearray[$i][$j][$k]->field_videos_zum_highlight = $sitearray[0][2][$pos];und
$sitearray[$i][$j][$k]->field_videos_zum_highlight['und'][0] = $sitearray[0][2][$pos];In den $sitearray sind komplette nodes drin.
Wäre schön, wenn mir eben einer auf die Sprünge helfen könnte.
Mfg Thomas
- Anmelden oder Registrieren um Kommentare zu schreiben

Niemand eine Idee? Es muss
am 08.08.2012 - 09:00 Uhr
Niemand eine Idee?
Es muss doch möglich sein ein Node Reference Feld im code zu befüllen?
Damit der Inhalt eines Nodes
am 08.08.2012 - 09:35 Uhr
Damit der Inhalt eines Nodes dauerhaft geändert ist, mußt Du nach der Änderung mittels [api:node_save] den Node in der Datenbank ablegen. Nur dadurch, daß Du ihn in Deinem Datensatz änderst, tut sich noch nichts in der Datenbank.
Beste Grüße
Werner
Da hast du natürlich recht.
am 08.08.2012 - 10:08 Uhr
Da hast du natürlich recht. Aber das mache ich auch. Ich befülle andere Felder mit der gleich art und weise und es funktioniert alles wunderbar. Ich habe nur mit dem node reference Feld die probleme.
Du mußt natürlich den
am 08.08.2012 - 10:23 Uhr
Du mußt natürlich den referenzierten Node auch speichern wenn Du in dem änderst. Änderungen am referenzierten Node werden nicht gespeichert, wenn Du nur den aktuellen Node mit node_save sicherst.
Beste Grüße
Werner
Gelöst
am 08.08.2012 - 11:21 Uhr
so habe es gelöst.
ich hatte das Array in meinen Versuchen falsch aufgebaut. Den node der in $sitearray[0][2][$pos] steckt muss field_videos_zum_highlight["und"][0]["node"] übergeben werden.
Die anderen beiden felder habe ich auch befüllt, das diese in den Node reference felder auch immer da sind.
$sitearray[$i][$j][$k]->field_videos_zum_highlight["und"][0]["node"] = $sitearray[0][2][$pos];$sitearray[$i][$j][$k]->field_videos_zum_highlight["und"][0]["access"] = 1;
$sitearray[$i][$j][$k]->field_videos_zum_highlight["und"][0]["nid"] = $sitearray[0][2][$pos]->vid;
node_save($sitearray[$i][$j][$k]);
Trotzdem danke für die Hilfe