Warum speichert node_save() doppelt ab?
am 30.12.2010 - 18:06 Uhr in
Hallo zusammen,
in einer Drupal 6 Installation habe ich einen neuen Content-Typen "immo" angelegt, in dem Immobilienobjekte abgelegt werden können.
Anschliessend erstelle ich neue Nodes vom Typ "Immo" per Script, so etwa:
..
..
$index = 0;
$fieldname = "field_cck_image";
foreach($newnode as $item) {
$img_file = my_field_file_save_file($item->filepath, array(), 'sites/default/files/');
$node->{$fieldname}[$index] = $img_file;
$index++;
}
node_save($node);
..
Jedem Node werden mehrere Bilder in einem CCK Imagefield zugewiesen. Das funktioniert eigentlich prima, nur: node_save($node) speichert den node doppelt ab :-(
Ich komme einfach nicht darauf, woran das liegt. Gibt es irgendwo einen node-cache, den man vor dem Speichern löschen muss?
Freue mich über jeden Tipp.
Danke und Grüsse
Rhodes
- Anmelden oder Registrieren um Kommentare zu schreiben

Funktion
am 30.12.2010 - 22:54 Uhr
Hallo.
Ich würde darauf tippen, dass nicht [api:node_save] die Daten doppelt speichert, sondern die Funktion, in der Du [api:node_save] verwendest, mehrfach aufgerufen wird.
Installiere Dir mal [do:devel Devel] (falls nicht bereits geschehen) und rufe in der Funktion
<?php dsm(debug_backtrace()) ?>auf. Dann siehst Du, von wo Deine Funktion aufgerufen wird (und wie oft).hth,
Stefan