node_save oder drupal_execute
am 16.06.2011 - 10:43 Uhr in
Hallo,
ich importiere/update Nodes aus einem Service heraus nach Drupal. Nachdem ich den Node mit allen CCK-Bildern/Flashs erstellt habe, soll mein Servicecall den Node natürlich speichern.
Das funktionierte bei der alten Version - nach Updates nicht mehr so glatt. Ich kann
1. mit node_save speichern - dann wird alles gespeichert - nur die Bilder werden wieder vom Server gelöscht.
2. mit drupal_execute - dann sind die Bilder in Ordnung - bloss Textänderungen werden nicht mehr übernommen.
zu 1:
$old_node = node_load($node[nid]);
$values = (array)$node;
drupal_execute('artikel_node_form', $values);zu 2:
$node = (object) ($node);
node_save(node_submit($node));Hat jemand eine Idee , woran es liegen könnte ? Die Bilder speicher ich vorher mittels drupal_write_record in der Datenbank. Auf dem Filesystem in sites/default/files landen die Bilder auch! Allerdings werden sie bei "node_save(node_submit(..." wieder vom Server gefegt.
// Ein File anlegen
$file_drupal_path= $filedata['location'];
$file = new stdClass();
//$file->filename = $filedata['name'];
$lastsl = strrpos($file_drupal_path, '/');
$file->filename = substr($file_drupal_path, $lastsl+1, strlen($file_drupal_path) - $lastsl);
$file->filepath = $file_drupal_path;
$file->filemime = $filedata['mime'];
$file->filesize = filesize($file_drupal_path);
$file->filesource = $filedata['name'];
$file->uid = 1;
$file->status = FILE_STATUS_PERMANENT;
$file->timestamp = time();
$file->new = true;
// fid is populated by drupal_write_record
drupal_write_record('files', $file);
$imageData = field_file_load($file->fid, TRUE);
if ($file->filemime == 'video/x-flv') {
$imageData['title'] = basename($file->filename);
$imageData['description'] = basename($file->filename);
$imageData['list'] = 1;
} else {
$imageData['data'] = array(
'description' => $filedata['caption'],
'alt' => $filedata['alt'],
'title' => $filedata['title'],
);
}
if ($file->filemime == 'video/x-flv') {
$imageData = field_file_load($file->filepath);
}- Anmelden oder Registrieren um Kommentare zu schreiben

Neue Kommentare
vor 4 Tagen 10 Stunden
vor 4 Tagen 17 Stunden
vor 4 Tagen 17 Stunden
vor 4 Tagen 18 Stunden
vor 4 Tagen 23 Stunden
vor 5 Tagen 13 Stunden
vor 5 Tagen 22 Stunden
vor 1 Woche 1 Stunde
vor 1 Woche 20 Stunden
vor 1 Woche 3 Tagen